R:如何在给定数据框中通过ID计算平均值?

时间:2015-03-04 22:09:23

标签: r apply

我有以下数据:

ID       Value
1         3
1         5

如何通过ID计算均值,并将数据框中的均值作为新变量,以便对同一ID重复。结果应如下所示:

ID       Value   Mean
1         3       4
1         5       4

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用' ave'功能来自' base' R:

df=data.frame(ID=c(1,1), value=c(3,5))
df['mean'] <- ave(df$value, df$ID, FUN=mean)

> df
###   ID value mean
### 1  1     3    4
### 2  1     5    4

答案 1 :(得分:1)

您可以使用ave()按组计算平均值。假设您的数据框名为df,您可以执行以下操作:

df$Mean <- with(df, ave(Value, ID, FUN=mean))

这会将Mean添加为数据框中的另一列。