1

我只是想让 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' 对象必须有一个或多个观察值) 中的错误

4

2 回答 2

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
}
于 2018-09-05T21:11:45.860 回答
0

好的,我不得不使用语句 print(ssforecasts) 来获得结果。

于 2018-09-05T22:15:33.063 回答