下面是我的代码:
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中的相同。我遗漏了什么?我已经仔细检查过胖手指错误了。
发布于 2020-09-11 04:59:45
它可以很好地与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发布于 2020-09-11 08:05:56
可能是名称空间问题。例如,加载了一些包,这些包屏蔽了fable、fabletools函数。
在这种情况下很容易发生这种情况,因为您只使用library(fpp3)调用加载了fable,fabletools。你没有在你的代码中使用fable::forecast来调用,你之前也没有加载library(fable)。
当你只是加载library(fpp3)时,它不会屏蔽fable的函数。
例如。
library(forecast)
library(fpp3)在这种情况下,您的代码将调用forecast::forecast()。library(fpp3)调用不会屏蔽其他包的forecast、model、ARIMA函数。因此,如果您之前在名称空间中加载了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::。这也可能是它在更新后工作的原因。因为命名空间当时没有其他函数和加载的包。
https://stackoverflow.com/questions/63837579
复制相似问题