【发布时间】:2016-05-28 08:26:49
【问题描述】:
这是来自Cumulative Mean with Grouping and Lag 和Grouped moving average in r 的后续问题。
我希望创建一个累积平均值字段,该字段具有滞后于多个变量的分组,但仅计算某些标准的平均值。因此对于下面的示例,S-AVG 仅给出 S 的累积平均值,反之亦然 O-AVG 和 J-AVG。我确信使用 ave 和 cumsum 可以做到这一点,但我不确定该怎么做。
这是所需的输出:
Player Goals **S-AVG** **O-AVG** **J-AVG**
S 5
S 2 5
S 7 3.5
O 3
O 9 3
O 6 6
O 3 3
S 7 4.66
O 1 5.25
S 7 5.25
S 3 5.6
Q 8 4.4
S 3 5.16
O 4 5
P 1 4.857
S 9 4.857
S 4 5.375
Z 6 4.375
S 3 5.22
O 8 4.55
S 3 5
O 4 4.9
O 1 4.81
S 9 4.81
S 4 5.16
O 6 4.5
J 6
这是 r 的数据输入
Player <- c('S','S','S','O','O','O','O','S','O','S','S','O','S','O','O','S','S','O','S','O','S','O','O','S','S','O','J')
Goals <- c(5,2,7,3,9,6,3,7,1,7,3,8,3,4,1,9,4,6,3,8,3,4,1,9,4,6,6)
data.frame(Player, Goals)
感谢任何帮助。
【问题讨论】:
-
我认为如果您只是将子集分成 3 个数据帧,计算累积平均值然后重新组合,这可能会更直接。
-
你不能将数据从以前的anwser重塑为这种格式吗?
-
此外,熔化和铸造也可能有所帮助。可能很好看。
-
我希望能够做到这一点,而不必进行子集化和重新合并,因为我将大规模地这样做。我一直在用 cumroll
标签: r