fable: Error: Problem with `mutate()` input `arima`

fable: Error: Problem with `mutate()` input `arima`

这是我的代码:

library(fpp3)
val <- seq(1,100,1)
time <- seq.Date(as.Date("2010-01-01"),  by = "day", length.out =  100 )
df <- data.frame(val = val, time = time)
fit <- df %>% as_tsibble(., index = time) %>% 
  model(arima = ARIMA(val))

fc<- fit %>% forecast(h=7)

它生成:

Error: Problem with `mutate()` input `arima`.
x Input must be a vector, not a `fcdist` object.
i Input `arima` is `(function (object, ...) ...`.

这与 example 中的基本相同。我错过了什么?我已经仔细检查了粗指错误。

它与 fableTools ‘0.2.1’fpp3 0.3

一起工作正常
fit %>%
     forecast(h = 7)
# A fable: 7 x 4 [1D]
# Key:     .model [1]
#  .model time             val .mean
#  <chr>  <date>        <dist> <dbl>
#1 arima  2010-04-11 N(100, 1)   100
#2 arima  2010-04-12 N(100, 2)   100
#3 arima  2010-04-13 N(100, 3)   100
#4 arima  2010-04-14 N(100, 4)   100
#5 arima  2010-04-15 N(100, 5)   100
#6 arima  2010-04-16 N(100, 6)   100
#7 arima  2010-04-17 N(100, 7)   100

可能是命名空间问题。例如,加载了一些包,屏蔽了 fablefabletools 函数。

在这种情况下很容易发生,因为您仅通过 library(fpp3) 调用加载了 fablefabletools。 你没有打电话给例如fable::forecast 在您的代码中并且您之前也没有加载 library(fable)

当您只加载 library(fpp3) 时,它不会屏蔽 fable 的功能。

例如

library(forecast)
library(fpp3)

在这种情况下,您的代码将调用 forecast::forecast()library(fpp3) 调用不会屏蔽其他包的 forecastmodelARIMA 函数。因此,如果您之前在命名空间中加载了 forecast,那么在这种情况下,您将调用 forecast::forecast() 而不是 fable::forecast()

如果你打电话

library("fpp3")
library("forecast")

你得到:

Attache Paket: ‘forecast’

The following objects are masked from ‘package:fabletools’:
   accuracy, forecast

因此,如果您之前调用了 library(fable)library(fabletools),那么它可能会起作用,因为这样可以确保屏蔽类似的命名函数。或使用 fabletools::。这也可能是它在更新后工作的原因..因为名称空间随后没有其他功能和加载的包。