始める無料で始める

時系列でイベントを強調表示する

既存のプロットに直線を追加するために、関数 abline() が使えることも学びました。具体的には、h に特定のY値を指定して水平線を引いて特定の水準を示し、v に特定のX値を指定して垂直線を引いて特定の日付を示せます。

> abline(h = NULL, v = NULL, ...)

xts オブジェクトのインデックスは日付オブジェクトであることを思い出してください。つまり、プロットのX値にも日付が入ります。この演習では、インデクシングに加えて as.Date("YYYY-MM-DD")mean() を使い、中国株式市場の混乱の影響を受けた2016年1月4日のCitigroupの株価と、その平均値を視覚的に比較します。

前と同じデータセット data が用意されています。さっそく試してみましょう。

注: このコードが動作するには xts バージョン 0.9-7 が必要です。特定のバージョンのパッケージは remotes::install_version() でインストールできます。

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

Rで学ぶ時系列データの可視化

コースを見る

演習の手順

  • data の3番目の系列をプロットし、タイトルを "Citigroup" にします
  • 2016年1月4日に該当する「citigroup」データのデータ点のインデックスを vert_line として作成します
  • abline().index()vert_line を使って、この日付に赤い垂直線を追加します
  • 「citigroup」価格の平均値を表すオブジェクト hori_line を作成します
  • abline()hori_line を使って、この平均値に青い水平線を追加します

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Plot the "citigroup" time series


# Create vert_line to identify January 4th, 2016 in citigroup
vert_line <- which(index(___) == as.Date(___))

# Add a red vertical line using vert_line
abline(___ = .index(___)[___], col = "red")

# Create hori_line to identify average price of citigroup
hori_line <- ___(___)

# Add a blue horizontal line using hori_line
abline(___ = ___, col = "blue")
コードを編集して実行