我有一些数据是以单个数字列表的形式存在的。我想用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_。注意