有没有一种有效的方法来计算平均值的滚动偏差?

时间:2014-11-12 21:18:19

标签: r lapply moving-average

我想计算平均偏差' 1 / n [sum(Xi-mu)]'滚动窗口。 ' mu'正在滚动平均值。习也在滚动观察。这是我的示例代码,窗口大小为n = 10:

library(TTR)
dt<-rnorm(10000)
avg<-runMean(dt,n=10,cumulative=F)
df<-data.frame(dt,avg)

ls<-lapply(10:nrow(df),function(.){
    dev<-(df[(.-10+1):.,'dt']-df[.,'avg'])
    sk=mean(dev)
})

(p<-unlist(ls))

似乎lapply不是一种有效的方式。不确定什么是替代解决方案。感谢任何人的任何建议。

1 个答案:

答案 0 :(得分:2)

你的意思是这样的(尽管差异被解释为简单解释here)?

library(zoo)
dt <- rnorm(1000)
rollapply(dt, 10, function(x) mean(x - mean(x)))