试图找出For循环

时间:2018-09-05 20:51:59

标签: r holtwinters

我只是想让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”对象必须具有一个或多个观察结果

2 个答案:

答案 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)来获得结果。