R的三分移动平均线



我有一些数据是以单个数字列表的形式存在的。我想用R:中的公式计算3点移动平均值

(-1a + 2b + -4c)/3 <- 1st moving average

其中a、b和c是第一、第二和第三个值,依此类推。下一个平均值为:

(-1b + 2c + -4d)/3 <- 2nd moving average

其中d是第4个值。有人告诉我使用filter((函数,但我不太确定如何使用。有人能帮我吗?

您应该做:

vec <- seq(10)
stats::filter(vec, c(-4,2,-1)/3)

甚至:

c(embed(vec, 3) %*% c(-4,2,-1)/3)

请注意,在这两种情况下,我都颠倒了参数的顺序。即我有CCD_ 2而不是CCD_。注意

最新更新