5

集計データの列名の設定方法

library(plyr)
ddply(data,.(col1,col2),nrow)

のように

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

1 に答える 1

7

おそらく、あなたが探しているのは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
于 2013-08-26T11:08:54.930 に答える