我想计算平均偏差' 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不是一种有效的方式。不确定什么是替代解决方案。感谢任何人的任何建议。
答案 0 :(得分:2)
你的意思是这样的(尽管差异被解释为简单解释here)?
library(zoo)
dt <- rnorm(1000)
rollapply(dt, 10, function(x) mean(x - mean(x)))