Timeseries в R ошибка с басней: нарезка скаляра - PullRequest
2 голосов
/ 01 апреля 2020

Я пытаюсь использовать пакеты 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)

Затем я могу вручную создать басню, но это настоящая боль, и я боюсь, что пропускаю ошибку, которую не понимаю.

Может кто-нибудь помочь я понимаю эту ошибку?

...