设置列名ddply

时间:2013-08-26 11:01:34

标签: r plyr

如何在

中设置汇总数据的列名
library(plyr)
ddply(data,.(col1,col2),nrow)

喜欢

ddply(data,.(col1,col2),function(x) data.frame(number=nrow(x)))

1 个答案:

答案 0 :(得分:6)

也许您正在寻找summarize(或mutatetransform,具体取决于您的目标。

一个小例子:

set.seed(1)
data <- data.frame(col1 = c(1, 2, 2, 3, 3, 4),
                   col2 = c(1, 2, 2, 1, 2, 1),
                   z = rnorm(6))
ddply(data,.(col1,col2), summarize, 
      number = length(z), newcol = mean(z))
#   col1 col2 number     newcol
# 1    1    1      1 -0.6264538
# 2    2    2      2 -0.3259926
# 3    3    1      1  1.5952808
# 4    3    2      1  0.3295078
# 5    4    1      1 -0.8204684