在時間序列中標示事件
你也學到了可以使用 abline() 函式,為既有的圖形加入直線。具體來說,你可以透過設定 h 為特定的 Y 值來畫出水平線,以標示某個水準;也可以透過設定 v 為特定的 X 值來畫出垂直線,以標示某個日期:
> abline(h = NULL, v = NULL, ...)
請記得,xts 物件的索引是日期物件,所以圖上的 X 值也會是日期。在這個練習中,你會同時使用索引、as.Date("YYYY-MM-DD") 與 mean(),把花旗(Citigroup)股價的平均值,和 2016 年 1 月 4 日(受中國股市動盪影響)的價格做視覺化比較。
你會拿到和先前相同的資料集 data。來試試看吧。
注意:這段程式碼需要 xts 版本 0.9-7 才能運作。你可以使用 remotes::install_version() 安裝指定版本的套件。
本練習屬於課程
在 R 視覺化時間序列資料
練習說明
- 繪製
data中的第三個序列,並將標題設為「Citigroup」。 - 建立
vert_line,也就是「citigroup」資料中落在 2016 年 1 月 4 日那個觀測值的索引。 - 使用
abline()、.index()和vert_line,在該日期加上一條紅色垂直線。 - 建立
hori_line,其值為「citigroup」價格的平均數。 - 使用
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")