Làm nổi bật các sự kiện trong chuỗi thời gian
Bạn cũng đã biết có thể dùng hàm abline() để thêm các đường thẳng vào một biểu đồ đã vẽ. Cụ thể, bạn có thể vẽ một đường ngang để xác định một mức cụ thể bằng cách đặt h là một giá trị Y, và một đường dọc để xác định một thời điểm cụ thể bằng cách đặt v là một giá trị X:
> abline(h = NULL, v = NULL, ...)
Hãy nhớ rằng chỉ số (index) của một đối tượng xts là các đối tượng ngày tháng, nên trục X của biểu đồ cũng sẽ là ngày. Trong bài tập này, bạn sẽ dùng indexing cùng với as.Date("YYYY-MM-DD") và mean() để trực quan so sánh giá trung bình cổ phiếu Citigroup với mức giá của nó vào ngày 04/01/2016, sau khi bị ảnh hưởng bởi biến động trên thị trường chứng khoán Trung Quốc.
Bạn được cung cấp cùng bộ dữ liệu data như trước. Hãy thử thực hiện.
Lưu ý: đoạn mã này yêu cầu xts phiên bản 0.9-7. Bạn có thể dùng remotes::install_version() để cài đặt phiên bản cụ thể của gói.
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu chuỗi thời gian trong R
Hướng dẫn bài tập
- Vẽ chuỗi thứ ba trong
datavới tiêu đề "Citigroup" - Tạo
vert_line, chỉ số của điểm dữ liệu trong dữ liệu "citigroup" rơi vào ngày 04/01/2016 - Thêm một đường dọc màu đỏ tại ngày này bằng
abline(),.index(), vàvert_line - Tạo
hori_line, đối tượng bằng với giá trị trung bình của giá "citigroup" - Thêm một đường ngang màu xanh tại giá trị trung bình này bằng
abline()vàhori_line
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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")