计算不重叠的移动平均值

问题描述 投票:3回答:1

我正在尝试计算R中时间序列的移动平均值,但结果不成功。

这是我所做的:

样本向量:

library(gtools)
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 
r moving-average
1个回答
5
投票

我想我找到了问题。它应该是fun而不是FUN

running(test, width = 10, by = 10, fun = mean, trim = 0, na.rm = TRUE)

您也可以这样做:

sapply(split(test, (seq_along(test) - 1) %/% 10), mean) 
© www.soinside.com 2019 - 2024. All rights reserved.