Виділення подій у часовому ряді
Ви також дізналися, що можна використовувати функцію abline(), щоб додавати прямі лінії до наявного графіка. Зокрема, можна провести горизонтальну лінію для позначення певної дати, задавши h як конкретне значення Y, і вертикальну лінію для позначення певного рівня, задавши v як конкретне значення X:
> abline(h = NULL, v = NULL, ...)
Пам'ятайте, що індекс об'єкта xts — це об'єкти дати, тож значення X на графіку також міститимуть дати. У цій вправі ви використаєте індексацію, а також as.Date("YYYY-MM-DD") і mean(), щоб візуально порівняти середнє значення цін акцій Citigroup з їхньою ціною 4 січня 2016 року, після впливу турбулентності на китайському фондовому ринку.
Вам надано той самий набір даних data, що й раніше. Спробуймо.
Примітка: цей код потребує xts версії 0.9-7. Ви можете скористатися remotes::install_version(), щоб установити конкретні версії пакетів.
Ця вправа є частиною курсу
Візуалізація часових рядів у R
Інструкції до вправи
- Побудуйте графік третього ряду в
dataз заголовком "Citigroup" - Створіть
vert_line— індекс точки в даних "citigroup", що припадає на 4 січня 2016 року - Додайте червону вертикальну лінію на цю дату за допомогою
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")