如何在
中设置汇总数据的列名library(plyr)
ddply(data,.(col1,col2),nrow)
喜欢
ddply(data,.(col1,col2),function(x) data.frame(number=nrow(x)))
答案 0 :(得分:6)
也许您正在寻找summarize
(或mutate
或transform
,具体取决于您的目标。
一个小例子:
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