Ошибка в массиве: «данные» должны быть векторного типа, были RULL в R - PullRequest
0 голосов
/ 01 ноября 2018

Я продолжаю получать эту ошибку: Ошибка в массиве (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 голосов
/ 01 ноября 2018

Во-первых, вы всегда должны явно включать любые дополнительные пакеты не-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

...