我正在尝试计算R中时间序列的移动平均值,但我的结果不成功。
这就是我所做的:
样本载体:
test <- sample(1:100, 50)
testrunning <- running(test, width=10, by=10, FUN=mean, trim=0, na.rm=TRUE)
它产生一个结果,但结果不是我数据中窗口的平均值;相反,它是窗口的平均值。像这样:
testrunning
## 1:10 11:20 21:30 31:40 41:50
## 5.5 15.5 25.5 35.5 45.5
编辑:running()在包gtools
中答案 0 :(得分:3)
我想我发现了这个问题。它应该是fun
而不是FUN
:
running(test, width = 10, by = 10, fun = mean, trim = 0, na.rm = TRUE)
你也可以这样做:
sapply(split(test, (seq_along(test) - 1) %/% 10), mean)