聚合意味着保持N.

时间:2015-07-24 15:06:00

标签: r aggregate

我正在尝试aggregate数据集,但我还希望保留观察数量。所以我所拥有的与此类似:

aggregate(iris$Sepal.Length, by=list(iris$Species), FUN=mean)

但是返回一个像这样的对象:

 Group.1     x
1     setosa 5.006
2 versicolor 5.936
3  virginica 6.588

当我想要的是那个和每个组中的观察(行)数量(在一个单独的列中)

2 个答案:

答案 0 :(得分:6)

试验和错误显示这有效:

FUN = function(x) c(m = mean(x), n = length(x))

在dplyr和data.table等包中还有其他方法可以做到这一点。

答案 1 :(得分:2)

dplyr和hadley ftw

grp <- group_by(iris, Species)
summarise(grp, avg = mean(Sepal.Length), n =n ())

Source: local data frame [3 x 3]
     Species   avg  n
1     setosa 5.006 50
2 versicolor 5.936 50
3  virginica 6.588 50