获取每个观察结果的数据帧中的平均值

时间:2017-01-27 19:58:28

标签: r dataframe mean

我希望按名称获得平均得分。

这是一个示例数据框

Date    Name  Score

1/1/16  Bill   5
1/1/16  Hank   5 
1/1/16  Aaron  10
1/2/16  Hank   15
1/2/16  Bill   10
1/3/16  Bill   20
1/3/16  Aaron  20
1/4/16  Aaron  20

如何添加此列?

Date    Name  Score Average_to_date

1/1/16  Bill   5     NA
1/1/16  Hank   5     NA
1/1/16  Aaron  10    NA
1/2/16  Hank   15    5
1/2/16  Bill   10    5
1/3/16  Bill   20    7.5
1/3/16  Aaron  20    10
1/4/16  Aaron  20    15

1 个答案:

答案 0 :(得分:2)

如果您不介意使用dplyr

library(dplyr)

your_data %>%
  arrange(Date) %>%
  group_by(Name) %>%
  mutate(Average_to_date = lag(cummean(Score))

如果您确定数据框已按日期排序,则可以省略arrange。否则,请在安排之前确保Date列属于Date课程 - 有关详细信息,请参阅?as.Date