data.table相关内容
我有两个表,我想以与以下 SQL 相同的方式将它们连接在一起,其中我在多个条件下连接,而不仅仅是相等. 需要(sqldf)需要(数据表)dt 出于性能和灵活性的原因,我想避免使用 SQL 解决方案.进行交叉连接,然后进行过滤/聚合也是如此——它会创建一个中间表,其中包含许多不必要的记录供我过滤掉. 非常感谢! 更新——我最初的例子是匆忙完成的.在我的实际问题中,我没有进行自我加入
..
>库(数据表)>A 显然,我可以使用 f.x 将 data.table 从长到宽重塑.包 reshape2 的 dcast.但是 data.table 带有一个重载的括号运算符,提供像“by"和“group"这样的参数,这让我想知道是否可以使用它来实现它(到 data.table 特定功能)? 手册中的一个随机示例: DT[,lapply(.SD,sum),by=x] 这看起来很棒
..
我有一个关于“非连接"的 data.table 习语的问题,灵感来自 Iterator 的 问题.这是一个例子: 库(data.table)dt1 data.table看起来像这样 >dt1>dt2A1 B1 A2 B2[1,] 一 1 [1,] 一 2[2,] b 4 [2,] b 5[3,] c 2 [3,] c 2[4,] d 5 [4,] d 1[5,] e 1 [5,] e 1[
..
我有一个标题如下所示的数据集: PID 时间站点代表计数 我想通过 Rep 对每个 PID x Time x Site 组合的 Count 求和 在生成的 data.frame 上,我想获取 PID x Time x Site 组合的 Count 的平均值. 目前的功能如下: dummy
..
希望这里有一个简单的答案,但我在任何地方都找不到. 我有一个包含行名和列名的数字矩阵: # 1 2 3 4# 一个 6 7 8 9# b 8 7 5 7# c 8 5 4 1# d 1 6 3 2 我想将矩阵融合为长格式,其中一列中的值和矩阵行和列名各在一列中.结果可能是这样的 data.table 或 data.frame: # col 行值#1 一 6# 1 b 8# 1 c 8#
..
data.table 包在速度方面非常有帮助.但我在实际使用线性回归的输出时遇到了麻烦.有没有一种简单的方法可以让 data.table 输出与 plyr 包中的输出一样漂亮/有用?下面是一个例子.谢谢! library('data.table');图书馆('plyr');REG data.table 系数估计值在单个列中输出,而 plyr/ddply 系数估计值在多个且标记良好的列中输出.
..
我有一个包含几个 csv 文件的 zip 存档.我想使用 fread 将选定的 csv 文件导入 R. 使用 read.csv 我可以在不提取存档的情况下获取如下数据. con
..
我想根据分组计算同时向 data.table 添加许多新列.我的数据的一个工作示例如下所示: 时间库存 x1 x2 x31: 2014-08-22 A 15 27 342:2014-08-23 A 39 44 293: 2014-08-24 A 20 50 54: 2014-08-22 B 42 22 435: 2014-08-23 B 44 45 126: 2014-08-24 B 3 21
..
我是 R 用户,我经常发现我需要编写需要对大型数据集(数百万行)进行子集化的函数.当我将这些函数应用于大量观察时,如果我不小心如何实现它,可能会非常耗时. 为此,我有时会使用 data.table 包,它提供的速度比使用数据帧的子集快得多.最近开始试验RMySQL之类的包,把一些表push到mysql,用这个包运行sql查询并返回结果. 我发现性能改进参差不齐.对于较小的数据集(数百万
..
TL;DR 在 R 中读取和写入子集的最快方法是什么来自一个非常大的矩阵的列.我尝试使用 data.table 解决方案但需要一种快速的方法来提取列序列? 简短回答:操作中代价高昂的部分是赋值.因此,解决方案是坚持使用矩阵并使用 Rcpp 和 C++ 来修改矩阵.下面有两个很好的示例答案.[对于那些适用于其他问题的人,请务必阅读解决方案中的免责声明!].滚动到问题的底部,了解更多经验教
..
我正在尝试做一件简单的事情,将 data.table 的 40 列除以它们的平均值.我无法提供实际数据(并非所有列都是数字,而且我有 > 8M 行),但这里有一个示例: 库(data.table)dt 接下来我想我会这样做: for (col in names(colmeans)) dt[,col:=dt[,col]/colmeans[col]] 但这会返回错误,因为 dt[,col]
..
我在 R 中有一个 data.table: 库(data.table)set.seed(1)DT = 数据表(组=样本(字母[1:2],100,替换=真),年=样本(2010:2012,100,替换=真),v=runif(100)) 将这些数据按组和年份汇总到汇总表中既简单又优雅: table
..
我正在尝试使用 data.table 包中的 fread 函数输入一个以制表符分隔的大文件(大约 2GB).然而,因为它太大了,它并不完全适合内存.我尝试使用 skip 和 nrow 参数分块输入它,例如: chunk.size = 1e6完成 = 假块 = 1而(!完成){temp = fread("myfile.txt",skip=(chunk-1)*chunk.size,nrow=chun
..
我的文件有超过 400 万行,我需要一种更有效的方法将我的数据转换为语料库和文档术语矩阵,以便我可以将其传递给贝叶斯分类器. 考虑以下代码: 库(tm)GetCorpus 输出: >检查(公司)>[[1]]>让大狗狩猎[[2]]
..
在Software for Data Analysis: Programming with R一书中,John Chambers 强调,通常不应该为函数的副作用而编写函数;相反,一个函数应该在不修改其调用环境中的任何变量的情况下返回一个值.相反,使用 data.table 对象编写好的脚本应该特别避免使用带有
..
我要转换: 库(data.table)market.cap
..
我有一个看起来像这样的数据框 a b c d1 1 1 01 1 1 2001 1 1 3001 1 2 01 1 2 6001 2 3 01 2 3 1001 2 3 2001 3 1 0 我有一个看起来像这样的数据框 a b c d1 1 1 2501 1 2 6001 2 3 1501 3 1 0 我现在正在做{ n=nrow(子集(Wallmart, a==i & b==j
..
>fread('col1,col2\n')2列的空data.table(0行):col1,col2>fread('col1,col2\n5,4')col1 col21:5 4>fread('col1,col2\n5,"4\n3"')fread("col1,col2\n5,\"4\n3\"") 中的错误:在此行上观察到不平衡的引号 ("):3"> read.csv 可以导入此 csv,只要跨越多行
..
我有一个 datatable ,其中每一列代表一个时间序列,我想以列顺序的方式获取每个时间序列的最后一个 NA 值.在我的特定用例中,我的数据如下所示: a b c1 2 51 -17 9北美 11 4不适用 57 不适用63 无 无 所以我想从中提取: a b c63 57 4 我怎样才能做到这一点?到目前为止,我只看到解决每行而不是每列提取最后一个非 NA 的相反情况的答案. 解
..
我想按组“会话"缩放 data.table 中的变量选择: 会话 score1 score21:1 0.11111111 0.60000002:1 0.00000000 0.53333333:1 0.27777778 0.66666674:1 0.66666667 0.86666675:1 0.83333333 1.00000006:2 0.07692308 0.57575767:2 0.25
..