【发布时间】:2015-02-02 12:38:46
【问题描述】:
在这个(组成的)数据框 df 中,我想显示按 ID 分组的平均年龄。
立即输出:
ID age
1 20
1 25
20 40
20 35
20 30
356 27
4001 22
4001 49
4001 46
4001 75
55555 50
55555 54
期望的输出:
ID age meanage
1 20 22.5
1 25 22.5
20 40 35.0
20 35 35.0
20 30 35.0
356 27 27.0
4001 22 48.0
4001 49 48.0
4001 46 48.0
4001 75 48.0
55555 50 52.0
55555 54 52.0
一个可行的解决方案是
for (i in min(df$ID):max(df$ID))
{
df$meanage[df$ID == i] <- mean(df$age[df$ID == i])
}
但是,这确实很慢,尤其是对于非常大的数据集。有没有更有效的方法来做到这一点?
【问题讨论】:
标签: r