【问题标题】:Get graph of the weekly season for a time series with daily frequency获取具有每日频率的时间序列的每周季节图
【发布时间】:2014-07-20 03:23:06
【问题描述】:

如何在 R 中分解每日频率的时间序列?我有一年中每天访问网站的人数。我想显示每周季节的图表。

my_data = read.csv("time series test.csv", header = TRUE)

my_zoo_ts = read.zoo("time series test.csv", sep = ",", format="%m/%d/%y")

stl(my_zoo_ts)
# Error in stl(coerced_ts) : 
#   series is not periodic or has less than two periods

我希望使用 STL,但显然 STL 不能用于日常数据(来自另一个 S.O. 问题)。

这是我的数据头。

head(my_data)
      V1  V2
1 1/1/14 123
2 1/2/14 128
3 1/3/14 129
4 1/4/14 130
5 1/5/14 137
6 1/6/14 141

【问题讨论】:

  • 可用于日常数据。但是有两年多的数据。无论如何,你要分解什么?
  • stl 不能与 "Date" 类数据一起使用。数据必须有规律的间隔,并且一个周期的持续时间必须为 1。
  • @Pascal - 我想分解一个时间序列,它是一年内每天访问网站的唯一身份访问者的数量。周期将是几周(因为人们在一周中的某些日子访问某些网站更多)。我还有什么其他功能可以使用吗?
  • @G.Grothendieck - 谢谢我可以用zoo创建一个系列,这只是一个规则间隔的向量。但我不知道如何将时间段指定为 1 周。
  • 我还是不明白。您想汇总每天到每周的数据吗?

标签: r time-series zoo


【解决方案1】:
z <- as.Date("2014-1-1") + 0:364
visits <- sample(seq(from = 50, to = 100, by = 1), size = 365, replace = TRUE)
z.day <- zoo(visits, z)
week <- as.numeric(format(time(z.day), "%W"))
z.week <- aggregate(z.day, week, sum)

然后绘制 z.week

【讨论】:

    【解决方案2】:

    您应该汇总一周或一周中的某一天。

    然后你可以绘制聚合。

    如果你需要更多细节,你能解释一下你想看什么吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2022-09-23
      • 2015-11-24
      • 2021-04-02
      • 2021-04-02
      • 1970-01-01
      相关资源
      最近更新 更多