按组计算剩余行数的平均值

时间:2017-06-18 15:23:07

标签: r moving-average

我试图获得每组中所有后续行的平均性能。分组因子为 ID ,要平均的变量为效果。数据已按变量排序。

所需的输出示例: 对于第5天的ID A,平均值为8.25 [(9 + 6 + 10 + 8)/ 4]。 对于第6天的ID A,平均值为8 [(6 + 10 + 8)/ 3]。 所以基本上是由day变量排序的剩余性能分数的平均值。

我希望在R中执行此操作并且当前失败,因为roll_mean函数在满足每个组的结尾时创建NA。

非常感谢任何帮助,谢谢!

structure(list(ID = c("A", "A", "A", "A", "A", "A", "A", "A", 
                  "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "C", "C", 
                  "C", "C", "C", "C", "D", "D", "D", "D", "D", "D", "D", "D"), 
           Day = c(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
                   10, 11, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8), 
           Performance = c(5, 
                           3, 3, 6, 9, 6, 10, 8, 10, 9, 2, 5, 8, 4, 6, 3, 6, 3, 2, 4, 
                           4, 9, 10, 10, 3, 4, 2, 9, 4, 7, 4, 9, 6)), 
      .Names = c("ID", 
                 "Day", "Performance"), class = c("tbl_df", "tbl", "data.frame"
                 ), 
      row.names = c(NA, -33L))

0 个答案:

没有答案