我有一个数据框 ABC_Score
。
ABC_Score <- data.frame(Level = c("A", "A", "A", "B", "B", "C", "C",
"C", "C"), result = c(2, 3, 3, 7, 9, 18, 20, 17, 20))
我需要的是每个
Level
的result
移动平均值。目前我有以下脚本来计算移动平均值。
install.packages("TTR")
library(TTR)
`ABC_Score$MA` <- runMean(ABC_Score$result, 2)
Level result MA
1 A 2 NA
2 A 3 2.5
3 A 3 3.0
4 B 7 5.0
5 B 9 8.0
6 C 18 13.5
7 C 20 19.0
8 C 17 18.5
9 C 20 18.5
在这里,我需要指定移动平均计算所涉及的行数(result
)。在这个例子中,2
是不正确的,因为不同Levels
的results
现在混合在移动平均中。
如何使移动平均自动地基于每个Level
计算result
?
by
和zoo::rollmean
吗? - r2evans