开始使用免费开始使用

子集化并调整周期性

下一步,您将把气温数据与上一章的航班数据合并。

回顾上一章,航班数据的时间范围是 2010 至 2015 年,按「月度」聚合。相比之下,气温数据的时间范围是 2007 至 2015 年,按「日度」记录。合并前,您需要先对子集数据并把周期性调整为月度。

要转换 xts 对象的周期性,您可以使用 to.period(),它可以将数据快速转换为更低频的周期。默认情况下,该命令会在整个周期上生成特定取值(即开高低收,Open-High-Low-Close,简称 OHLC),这在金融分析中很有用,但并非所有场景都适用。

在本例中,您应将参数 OHLC 设为 FALSE。这样不会在月度 xts 对象中生成 OHLC 列,而是从每个周期中选取一行来代表整个周期。您可以通过 indexAt 参数来指定选取哪一行。

temps_xts 数据和上一章的 flights_xts 数据均已在您的工作区中可用。

本练习是课程的一部分

案例研究:在 R 中分析城市时间序列数据

查看课程

练习说明

  • temps_xts 子集化,仅保留 2010 至 2015 年的观测。保存为 temps_xts_2
  • 使用 to.period() 将日度气温数据转换为月度周期。请务必指定要转换的周期("months")。同时需要将 OHLC 设为 FALSE,以避免生成新的 OHLC 列。最后,将 indexAt 参数设为 "firstof",以选取每月的第一条观测。
  • 使用两次 periodicity(),将新得到的月度气温数据与上一章的 flights_xts 数据在周期性与时间跨度上进行比较。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Subset your temperature data to include only 2010 through 2015: temps_xts_2
temps_xts_2 <- ___["___/___"]

# Use to.period to convert temps_xts_2 to monthly periodicity
temps_monthly <- to.period(___, period = "___", OHLC = ___, indexAt = "___")

# Compare the periodicity and duration of temps_monthly and flights_xts 
periodicity(___)
periodicity(___)
编辑并运行代码