Я пытаюсь использовать пакеты tidyverts (tsibble, feasts, fable) для анализа временных рядов. Я следую по уроку здесь . Данные за десять лет ежедневных подсчетов.
> summary(mockTsib)
Date CallTypeCode calls
Min. :2010-01-01 Length:11181 Min. : 0.00
1st Qu.:2012-07-20 Class :character 1st Qu.: 7.00
Median :2015-02-07 Mode :character Median : 21.00
Mean :2015-02-07 Mean : 32.71
3rd Qu.:2017-08-27 3rd Qu.: 58.00
Max. :2020-03-15 Max. :148.00
У меня есть шаблон с одним ключевым столбцом, тремя строками и двумя столбцами моделей (ets и arima).
> mockMod
# A mable: 3 x 3
# Key: CallTypeCode [3]
CallTypeCode ets arima
<chr> <model> <model>
1 A <ETS(A,N,A)> <ARIMA(2,1,1)(0,0,2)[7]>
2 B <ETS(A,N,A)> <ARIMA(2,1,2)(1,0,0)[7]>
3 S <ETS(A,N,A)> <ARIMA(0,1,2)(2,0,0)[7]>
Когда я передаю данные по прогнозу () для прогнозирования данных за 30 дней, я получаю следующую ошибку:
> mockMod %>% forecast(h = 30)
Error: Can't slice a scalar
Однако, когда я передаю столбцы модели непосредственно в прогноз (), кажется, что проблем нет.
etsPredictions <- mockMod$ets %>% forecast(h = 30)
arimaPredictions <- mockMod$arima %>% forecast(h = 30)
Затем я могу вручную создать басню, но это настоящая боль, и я боюсь, что пропускаю ошибку, которую не понимаю.
Может кто-нибудь помочь я понимаю эту ошибку?