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

R: How to compute the mean by ID in a given data frame?

我有以下数据:

ID       Value
1         3
1         5

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

ID       Value   Mean
1         3       4
1         5       4

谢谢。

您可以使用 'base' R:

中的 'ave' 函数
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

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

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

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