问题标签 [sqldf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 动物园里的动物:我们可以汇总每日时间序列的因素并按 ID 标记活动吗?
假设多年来在动物园里有每天的动物活动时间序列。一个非常大的数据集的一个子集可能如下所示:
其中“类型”是动物类型,“状态”是动物当天在做什么的指标,例如,笼中或展示。
假设我们想要将其聚合到一个月度系列中,该系列列出了动物及其整个月的状态信息。在新系列中,“状态”反映了动物在月初的状态。"fullmonth" 是一个二进制变量 (1=TRUE,0=FALSE),指示此状态是否保持整个月,"anydisp" 是一个二进制变量 (1=TRUE, 0= FALSE),指示动物是否在在一个月内的任何时间显示(>= 1 天)。所以,因为长颈鹿在 1 月和 3 月整整几个月都在展出,但在 2 月被关在笼子里,它会被相应地标记。
我认为zoo
可能是要走的路,但是在玩了之后我发现它不能很好地处理非数字值,即使我将任意值分配给定性组件(状态),也不清楚它将如何解决问题。
有人知道使用sqldf
or的解决方案data.table
吗?
更新
想要添加一个新要求,即显示的日期是当月的第一天,即使数据在当月晚些时候开始。例如,这个数据集就说明了这样一种情况:
这可以通过后处理任何解决方案来修改日期来解决:
r - 如何在 R 脚本中显式删除使用 sqldf 库创建的 SQLite 数据库
我创建了一个 R 函数来执行子集、汇总、密度和绘图。我最初是在 RStudio 中将子集分配给我的工作区,但我开始遇到内存限制。最新版本试图将汇总的观察计数存储在 SQLite 数据库中,而不是将子集作为自己的数据框导出。理论上,这将使用更少的内存。为了执行这个过程,我在我的函数中创建了一个新数据库,如下所示:
然后我创建了一些表,并将它们填充为函数进程。最后,我将 SQLite 表的查询结果导出到数据框,然后分配给我的工作区。
这提供了预期的结果:
现在的挑战是数据库是持久的。它是在第一次调用该函数时创建的,它存在于我的 Rsessions 和我的工作区中,如果我再次运行该函数,CREATE TABLE 命令将失败,因为表已经存在。所以问题是如何在我的函数中使用它后删除/清理“mydb”?
r - R中的SQLDF左连接
我的目标是获取“matr”,按 c1 列对其进行排序,并在 c2 = 1 时保持唯一(c1)。例如,从这段代码中......
到达:
出于某种原因,我在左连接中丢失了 c 行。我只能到达(通过其他连接)
r - sqldf--嵌套在另一个选择中的选择不起作用
我正在使用 R 中的 sqldf 包。我想创建一个数据集,其学生 ID 被排除在另一个数据集中。我的代码如下所示:
运行代码后,我发现 B 与 A 完全相同。似乎 sqldf 无法识别嵌套的 select 语句。任何建议,将不胜感激!
r - 如何在 R 中执行大型数据集的完全外连接?
我正在尝试在 R 中对一组中型数据集进行数据分析。我需要做的一项分析要求我对大约 24-48 个文件进行完全外部连接,每个文件有大约 60 列和多达 450,000 行。所以我经常遇到内存问题。
我认为 ffbase 或 sqldf 会有所帮助,但显然它们中的任何一个都不可能完全外连接。
有解决方法吗?我还没有找到的包裹?
r - R卡在加载sqldf包
我一直在尝试在 R 中使用 sqldf 包,但它只是在加载所需的包“proto”时停止了。像这样:
library(sqldf)
加载所需的包:DBI
加载所需的包:gsubfn
加载所需的包:proto
我正在使用 R 版本 3.0.0 (2013-04-03)——“蒙面奇迹”。有人可以让我知道这里缺少什么吗?非常感谢!
r - 如何计算大型数据集每分钟出现的次数
我有一个数据集,其中有 50 万个约会,持续时间在 5 到 60 分钟之间。
我想计算每个位置和每个房间的并发约会总数(以及原始数据集中的其他几个因素)。
我尝试使用mysql
包来执行左连接,它适用于一个小数据集,但对于整个数据集来说需要永远:
它创建一个数据框,其中每分钟列出所有“活动”约会。大型数据集涵盖一整年(约 525600 分钟)。平均预约持续时间为 18 分钟,我希望 sql 连接创建一个包含约 500 万行的数据集,我可以用它来为不同的因素(位置/房间等)创建占用图。
基于如何计算我尝试使用的并发用户数中data.table
建议的 sapply 解决方案,snowfall
如下所示:
这个解决方案很快,大约需要 18 秒来计算 1 天(全年大约需要 2 小时)。缺点是我无法为某些因素(位置、房间等)创建并发约会数量的子集。我觉得必须有更好的方法来做到这一点..有什么建议吗?
更新:根据 Geoffrey 的回答,最终解决方案看起来像这样。该示例显示了如何确定每个位置的占用率。
r - dbPreExists && 中的错误!覆盖:'x && y' 中的'x' 类型无效
我正在使用 RPostgreSQL 和 sqldf 包执行 SQL。
联系:
然后我构建了一个非常复杂的 SQL 语句,最后我得到了(vSQL
是 SQL 选择语句):
现在我收到以下错误:
我无法创建任何可重现的示例,我只能说:
- 生成的 SQL 语句在数据库中直接执行时有效(我已将字符串从 R 复制到 pgAdmin)
- 连接有效,我可以使用
sqldf("select * from any_table, connection=con")
- 当我为我的脚本使用不同的输入参数生成较短的 SQL 时,它可以工作
- 仅 SQL 长度不是问题,我尝试过:
inSQL = paste(rep("select 1::int ",10000),collapse=" union all ")
,这会导致不同的错误:RS-DBI driver: (could not Retrieve the result : ERROR: stack depth limit exceeded
- 我的 SQL 语句中没有奇怪的字符
知道这个错误是什么意思吗?
会话信息:
PostgreSQL:
RStudio 0.97.332
r - r sqliteExecStatement(con,statement,bind.data)中的错误:RS-DBI驱动程序:(语句中的错误:没有这样的列:csnu)
我是 R 的新手,我搜索了类似的问题,但找不到答案。抱歉,如果交叉发布,请参考正确的链接。
我有一个 2 个 csv 文件。1-Bm,86 行 2 列。
第二 - BG 有 80 行和 14 列。
我需要通过 BM 文件和哪里(BM 的第 1 列内容等于 BG 文件中的第 12 列)BM[,1]=BG[i,1] 想要提取第 2 列内容。
它通过我的错误:
我检查了关键字并尝试更改名称,但没有任何帮助。我在这里想念什么?
BM (../alB.csv) 文件示例:
BG (.../BG111.csv') 文件示例:
非常感谢,米尔