開始使用免費開始

在 GDP 資料中加入離散的移動加總

知道相鄰期間的變化量很有用,但你可能也想知道自年初以來的「總」變化。若要產生這類指標,可以使用 split-lapply-rbind 的模式。這個流程與你在前一章用來計算每月平均氣溫的做法相似。

在本練習中,你會回到本章先前使用的 gdp 資料。除了每一季的靜態 GDP 數值之外,你還想產生從上一季到下一季的 GDP 變化量(使用 diff()),以及自年初以來的 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")
編輯並執行程式碼