【问题标题】:ggseasonplot from forecast package does not recognize ts object预测包中的 ggseasonplot 无法识别 ts 对象
【发布时间】:2020-01-16 01:04:10
【问题描述】:

我正在尝试按照https://otexts.com/fpp3/graphics-exercises.html 的严格说明运行一段代码

我正在使用以下软件包

library(tsibble)
library(tidyverse)
library(tsibbledata)
library(fable)
library(fpp3)
library(forecast)
library(ggplot2)
library(ggfortify)

我运行了以下代码行以获得时间序列对象 (aus_retail)

set.seed(12345678)
myseries <- aus_retail %>%
 filter(`Series ID` == sample(aus_retail$`Series ID`,1))

作为练习,作者在上面的页面中建议:“使用以下函数探索您选择的零售时间序列:”

autoplot(), ggseasonplot(), ggsubseriesplot(), gglagplot(), ggAcf()

所以,我尝试运行以下代码行

forecast::ggseasonplot(x = myseries)

这回答了我以下错误:

Error in forecast::ggseasonplot(x = myseries$Turnover) : 
  autoplot.seasonplot requires a ts object, use x=object

阅读函数帮助,有一个带有 AirPassengers 数据集(基础)的示例,甚至不是 ts 对象

示例

ggseasonplot(AirPassengers, year.labels=TRUE, continuous=TRUE)

运行如下

代码也可以在没有其他参数的情况下运行

 ggseasonplot(AirPassengers)

为什么即使我输入了一个 ts 对象,该函数仍然要求我输入一个对象?

【问题讨论】:

    标签: r fable-r forecastr


    【解决方案1】:

    在 Rstudio 社区寻找解决方案,我从 Rob Hyndman 那里找到了这个问题的答案 https://community.rstudio.com/t/can-not-use-autoplot-with-a-tsibble/41297

    所以,你必须通过 as.ts 函数将类更改为 ts。

    因此,为了使用 ggseasonplot 函数,代码应如下所示:

    forecast::ggseasonplot(x = as.ts(myseries))
    

    【讨论】:

      【解决方案2】:

      对不起! fpp3 书仍在编写中(feasts/fable/tsibble 仍在开发中)。

      您在上面找到的链接代码来自旧版本的盛宴,该版本已不再是最新版本。可以看到 Q6 中使用了正确的函数,但是 Q4 中的函数错误地没有更新。

      应该说gg_season(),而不是ggseasonplot()。类似的适用于其他函数名称。

      相应的代码如下:

      library(fpp3)
      set.seed(12345678)
      myseries <- aus_retail %>%
        filter(`Series ID` == sample(aus_retail$`Series ID`,1))
      myseries %>% 
        autoplot(Turnover)
      

      myseries %>% 
        gg_season(Turnover)
      

      myseries %>% 
        gg_subseries(Turnover)
      

      myseries %>% 
        gg_lag(Turnover)
      

      myseries %>% 
        ACF(Turnover) %>% 
        autoplot()
      

      reprex package (v0.3.0) 于 2020-01-23 创建

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-30
        • 2016-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-08
        相关资源
        最近更新 更多