如何解决寓言:错误:Mutate输入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
,
也许是名称空间问题。例如,某些已加载的软件包掩盖了fable
,fabletools
函数。
在这种情况下很容易发生,因为仅通过fable
调用加载了fabletools
,library(fpp3)
。
您未致电,例如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::
。这也可能是为什么它在更新后可以工作的原因。因为命名空间没有其他功能和已加载的软件包。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。