【问题标题】:Time Series with dplyr data frame using ggseas使用 ggseas 具有 dplyr 数据框的时间序列
【发布时间】:2017-07-28 14:49:38
【问题描述】:

您好,我有一个使用 tidyverse 生成的数据框,我知道有一个 ggplot2 扩展:ggseas 可以进行 stl 分解并创建分解图:这是示例数据框:

require(dplyr)
sample_dt <- tibble(Year=rep(seq(2012,2016),12),Month=rep(c("M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"),5),ActualDemand=runif(60,min=100,max=6000))

我从 ggeas 帮助页面了解到,必须先将数据框转换为 tsdf,但是当我这样做时,我收到“时间序列需要属于 ts 或 mts 类”的错误消息。

有人可以就如何解决这个问题提供一些想法吗?

【问题讨论】:

  • 据我所知,您已经有一个 data.frame,您无需担心。您没有转换为 tsdf 类的对象,您只是转换为 data.frame。它代表time series to data frame
  • 嗨 Axeman,非常感谢您的提示。我现在意识到我的理解完全相反!

标签: r time-series dplyr


【解决方案1】:

创建一个time series 对象

sample_ts <- ts(select(sample_dt,-Month),
                start = min(sample_dt$Year), 
                end = max(sample_dt$Year))

plot(sample_ts)

现在您必须弄清楚如何使用library(lubridate) 在单个日期列中添加月份和年份。

【讨论】:

  • 感谢 Paul,我做了一些进一步的研究,并想出了如何使用 lubridate 包来解决问题,并且成功了。
猜你喜欢
  • 2020-07-18
  • 2020-02-19
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
相关资源
最近更新 更多