小编Dyl*_*lan的帖子

从data.table聚合返回多个列

我想用它data.table作为替代aggregate()或者ddply(),因为这两种方法不能像希望的那样有效地扩展到大对象.不幸的是,我还没有弄清楚如何让向量返回聚合函数在结果中生成多个列data.table.例如:

# required packages
library(plyr)
library(data.table)

# simulated data
x <- data.table(value=rnorm(100), g=rep(letters[1:5], each=20))

# ddply output that I would like to get from data.table
ddply(data.frame(x), 'g', function(i) quantile(i$value))

 g        0%        25%          50%       75%     100%
 1 a -1.547495 -0.7842795  0.202456288 0.6098762 2.223530
 2 b -1.366937 -0.4418388 -0.085876995 0.7826863 2.236469
 3 c -2.064510 -0.6411390 -0.257526983 0.3213343 1.039053
 4 d -1.773933 -0.5493362 -0.007549273 0.4835467 2.116601
 5 e -0.780976 -0.2315245  0.194869630 0.6698881 2.207800

# not …
Run Code Online (Sandbox Code Playgroud)

r aggregation data.table

1
推荐指数
1
解决办法
2342
查看次数

标签 统计

aggregation ×1

data.table ×1

r ×1