在时间序列中突出显示事件
您已经学习过可以使用函数 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 中可视化时间序列数据
练习说明
- 用标题 "Citigroup" 绘制
data中的第三个序列。 - 创建
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")