错误在数组中:“数据”必须是向量类型,在R中为“ NULL”

时间:2018-11-01 10:22:49

标签: r arima

我一直在遇到这个错误:array(x,c(length(x),1L),if(!is.null(names(x)))list(names(x),:'data'必须是向量类型,为'NULL'

month <- c(1,2,3,4,5,6,7,8,9,10,11,12)
sales <- c(100,200,300,400,500,600,700,800,900,1000,1100,1200)
salesdata <- data.frame(month, sales)
salesdata1 = ts(salesdata[,2])
fit = auto.arima(salesdata1)
pred1 <- predict(fit, n.ahead = 12)

有人可以帮我这个忙吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该明确地包括您一直在使用的所有其他非base-R软件包(此处为forecast)。这样可以确保代码可重复。

关于您的问题,要预测forecast ARIMA模型,您需要使用forecast而不是predict

library(forecast)
fit <- auto.arima(salesdata1)

pred <- forecast(fit, h = 12)
pred
#   Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
#13           1300  1300  1300  1300  1300
#14           1400  1400  1400  1400  1400
#15           1500  1500  1500  1500  1500
#16           1600  1600  1600  1600  1600
#17           1700  1700  1700  1700  1700
#18           1800  1800  1800  1800  1800
#19           1900  1900  1900  1900  1900
#20           2000  2000  2000  2000  2000
#21           2100  2100  2100  2100  2100
#22           2200  2200  2200  2200  2200
#23           2300  2300  2300  2300  2300
#24           2400  2400  2400  2400  2400

plot(pred)

enter image description here