计算由组中的一个R列
问题描述:
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
,我可以计算由组中的一个R列
aggregate(df$y, list(df$group), mean)
得到平均水平,但我的问题是:如何做这样的事情:(y_ij-mean_i)
其中mean_i
是平均组i
谢谢。
答
我们可以使用ave
with(df, y- ave(y, group))
我猜回答'y - 与(DF,AVE(Y,组))' –
或'用(DF,AVE(Y,组,FUN =功能(X ){x-mean(x)}))'(='ave(df $ y,df $ group,FUN = function(x){x-mean(x)})') – Cath
或'dplyr','' df%>%group_by(group)%>%mutate(mean_y = y - mean(y))' –