开始使用免费开始使用

为 GDP 数据添加离散滚动求和

了解相邻两个时期之间的变动幅度固然有用,但您可能还想知道自年初以来的"累计"变动。要生成这类指标,您可以使用 split-lapply-rbind 模式。该过程与上一章中生成月均气温的流程类似。

在本练习中,您将回到本章前面使用过的 gdp 数据。除了每个季度的静态 GDP 数值外,您还希望生成两个指标:一是季度间的 GDP 变动(使用 diff()),二是年内至今(year-to-date)GDP 变动的滚动求和(使用 split()lapply()rbind())。

本练习是课程的一部分

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

查看课程

练习说明

  • 使用 diff() 计算 gdp 的简单季度差分。请务必指定 gdp 列,并将 lag 设为 1 个时期(此处为 1 个季度)。将结果保存到 gdp 对象中的 quarterly_diff
  • 现在已有季度 GDP 变动的度量,下一步使用 split() 按年份拆分 quarterly_diff 数据。调用 split() 时,请指定 gdpquarterly_diff 列,并将参数 f 设为 "years"(带引号)。
  • 对新拆分的数据使用 lapply()。为在每个年份内计算累计和,将参数 FUN 设为 cumsum(不带引号)。
  • 使用 do.call()gdpchange_ytd 通过 rbind 合并回一个 xts 对象。
  • 最后,使用 plot.xts() 查看年内至今的 GDP 变动(gdpchange_xts)。

交互式实操练习

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

# Add a quarterly difference in gdp
gdp$quarterly_diff <- diff(___$___, lag = ___, differences = ___)

# Split gdp$quarterly_diff into years
gdpchange_years <- split(___$___, f = "___")

# Use lapply to calculate the cumsum each year
gdpchange_ytd <- lapply(___, FUN = ___)

# Use do.call to rbind the results
gdpchange_xts <- do.call(rbind, ___)

# Plot cumulative year-to-date change in GDP
plot.xts(___, type = "h")
编辑并运行代码