数组中的错误:'data' 必须是向量类型,在 R 中是 'NULL'

Error In array :'data' must be of a vector type, was 'NULL' in R

我不断收到此错误: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)

有人可以帮我解决这个问题吗?提前致谢。

首先,您应该始终显式 包括您一直在使用的任何其他非 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)