我已经在列表中存储了60组数据,我想使用ARIMA(0,0,2)来拟合 第二天的数据和预测。代码如下所示,似乎如此 ts(x)存在一些问题。你能帮我解决这个问题吗?
> runArima <- function(ts){
+ Higher.R2.18. <- arima(ts,order=c(0,0,2))
+ pred <- forecast(Higher.R2.18.,h=1)
+ return(list(arima=Higher.R2.18.,forecast=pred))
+ }
> library(forecast)
> for(i in 304:363)
+ {ts.list[i-303]<-list(mydata[2:i,4])}
> arima.list <- lapply(ts.list,runArima)
Error in ts(x) : object is not a matrix
答案 0 :(得分:1)
尝试为函数的参数ts
使用其他名称,例如x
。 ts
是函数的名称(用于创建时间序列对象)。这会导致您在预测函数尝试访问对象ts
时看到的错误。
这将如下所示:
runArima <- function(x){
+ Higher.R2.18. <- arima(x,order=c(0,0,2))
+ pred <- forecast(Higher.R2.18.,h=1)
+ return(list(arima=Higher.R2.18.,forecast=pred))
+ }