我只是想让For循环以1个月的增量递增滚动窗口,并确定每次递增的硬件参数。
ss<-c(29,36,36,48,93,28,35,28,37,50,37,3,25,28,40,45,38,43,34,44,43,25,33,34)
ss2<-t(ss)
for (i in 1:12){
sseries<-ts(ss2[c(i:11+i)],frequency=12)
ssforecasts <- HoltWinters(sseries, beta=FALSE, gamma=FALSE)
ssforecasts
}
但是我得到了:
ts(cbind(xhat = final.fit $ level [-len-1],level = final.fit $ level [-len-: “ ts”对象必须具有一个或多个观察结果
答案 0 :(得分:2)
您在正确地调用切片,但是R的求值顺序未按您希望的那样求值。当您到达i=11
时,会得到以下提示:
> i:11+i
[1] 22
这是导致错误的原因,请尝试以下方法:
ss<-c(29,36,36,48,93,28,35,28,37,50,37,3,25,28,40,45,38,43,34,44,43,25,33,34)
ss2<-t(ss)
for (i in 1:12){
sseries<-ts(ss2[c(i:(11+i))],frequency=12)
ssforecasts <- HoltWinters(sseries, beta=FALSE, gamma=FALSE)
ssforecasts
}
答案 1 :(得分:0)
好的,我必须使用语句print(ssforecasts)来获得结果。