在一列R中按组计算

时间:2017-02-13 12:00:30

标签: r aggregate

group=c("A","A","B","A","B","C","C","A")
y=c(3,4,5,2,1,4,1,2)
df=data.frame(group,y)

使用aggregate,我可以通过

获得平均值
aggregate(df$y, list(df$group), mean)

但我的问题是:如何做:(y_ij-mean_i) 其中mean_i是群组i

的平均值 谢谢。

1 个答案:

答案 0 :(得分:2)

我们可以使用ave

 with(df, y- ave(y, group))