始める無料で始める

GDP データに離散的なローリング合計を追加する

期ごとの変化量がわかることは有用ですが、年初からの「合計」の変化量を知りたい場合もあります。この種の指標を作成するには、split-lapply-rbind パターンを使います。これは前の章で月別の平均気温を算出したときと同様のプロセスです。

この演習では、章の前半で使用した gdp データに戻ります。各四半期の静的な GDP 値に加えて、四半期ごとの GDP の変化(diff() を使用)と、年初来の GDP 変化のローリング合計(split()lapply()rbind() を使用)も算出したいとします。

この演習はコースの一部です

ケーススタディ:Rで都市の時系列データを分析する

コースを見る

演習の手順

  • diff() を使って、gdp の単純な四半期差を計算します。gdp 列を指定し、lag1 期間(この場合 1 四半期)に設定してください。結果を gdp オブジェクト内の quarterly_diff として保存します。
  • 四半期ごとの GDP 変化量が得られたので、次に split() を使って quarterly_diff データを年ごとに分割します。split() の呼び出しでは、gdpquarterly_diff 列を指定し、引数 f"years"(引用符付き)に設定してください。
  • 分割したデータに対して lapply() を使います。各年の累積和を計算するために、FUN 引数を引用符なしの cumsum に設定します。
  • do.call() を使って、gdpchange_ytd データを再び xts オブジェクトに rbind します。
  • 最後に、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")
コードを編集して実行