如果我有桌子
ID 1 1 1 2 2
N. 3 2 1 1 1
我希望获得相同数量的行,但是新列将是每个ID的N的平均值。
即
ID 1. 1 1 2 2
N. 3 2 1 1 1
Mean(N) 2 2 2 1 1
如何在R?
中做到这一点答案 0 :(得分:-1)
我们可以使用ave
。默认情况下,FUN
为mean
,因此我们无需指定它。
df1$Mean <- with(df1, ave(N, ID))
答案 1 :(得分:-1)
另一种方式:
df
ID N
1 1 3
2 1 2
3 1 1
4 2 1
5 2 1
df$Mean <- rep(aggregate(N~ID, df, mean)[,2], table(df$ID))
df
ID N Mean
1 1 3 2
2 1 2 2
3 1 1 2
4 2 1 1
5 2 1 1