我有一个关于将组方法分配给R data.frame的问题。
我知道我们可以使用tapply
计算群组均值。
示例:按物种分组均值。
(mean.SL = tapply(iris[,1],iris[5],mean))
# Species
# setosa versicolor virginica
# 5.006 5.936 6.588
如何将这些组分配给同一个data.frame? 例如,我想要以下结果。感谢您提供的任何帮助。
Sepal.Length Sepal.Width Petal.Length Petal.Width Species mean.SL
1 5.1 3.5 1.4 0.2 setosa 5.006
2 4.9 3.0 1.4 0.2 setosa 5.006
..
..
51 7.0 3.2 4.7 1.4 versicolor 5.936
52 6.4 3.2 4.5 1.5 versicolor 5.936
..
..
101 6.3 3.3 6.0 2.5 virginica 6.588
102 5.8 2.7 5.1 1.9 virginica 6.588
答案 0 :(得分:0)
您可以使用ave
:
transform(iris, mean.SL = ave(Sepal.Length, Species))