聚合均值并保持 N
aggregate means and keep N
我正在尝试 aggregate
一个数据集,但我还想保留观测值的数量。所以我所拥有的与此类似:
aggregate(iris$Sepal.Length, by=list(iris$Species), FUN=mean)
但是 returns 一个像这样的对象:
Group.1 x
1 setosa 5.006
2 versicolor 5.936
3 virginica 6.588
当我想要的是每个组(在单独的列中)中的观察值(行)数
反复试验表明这是可行的:
FUN = function(x) c(m = mean(x), n = length(x))
在 dplyr 和 data.table 等包中还有其他方法可以做到这一点。
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
我正在尝试 aggregate
一个数据集,但我还想保留观测值的数量。所以我所拥有的与此类似:
aggregate(iris$Sepal.Length, by=list(iris$Species), FUN=mean)
但是 returns 一个像这样的对象:
Group.1 x
1 setosa 5.006
2 versicolor 5.936
3 virginica 6.588
当我想要的是每个组(在单独的列中)中的观察值(行)数
反复试验表明这是可行的:
FUN = function(x) c(m = mean(x), n = length(x))
在 dplyr 和 data.table 等包中还有其他方法可以做到这一点。
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