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()の呼び出しでは、gdpのquarterly_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")