试图找出 For 循环

Trying to figure out For Loops

我只是想让 For 循环以 1 个月的增量增加滚动 window,并确定每个增量的 HW 参数。

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
}

但我得到:

Error in ts(cbind(xhat = final.fit$level[-len - 1], level = final.fit$level[-len - : 'ts' object must have one or more observations

您正确地调用了一个切片,但 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
}

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