Resaltar eventos en una serie temporal
También has aprendido que es posible usar la función abline() para añadir líneas rectas sobre un gráfico existente. En concreto, puedes dibujar una línea horizontal para identificar un nivel determinado estableciendo h a un valor específico del eje Y, y una línea vertical para identificar una fecha concreta estableciendo v a un valor específico del eje X:
> abline(h = NULL, v = NULL, ...)
Recuerda que el índice de un objeto xts está compuesto por objetos de fecha, por lo que los valores del eje X de un gráfico también contendrán fechas. En este ejercicio, usarás indexación, así como as.Date("YYYY-MM-DD") y mean(), para comparar visualmente la media de los precios bursátiles de Citigroup con su precio del 4 de enero de 2016, después de que se viera afectado por la turbulencia en el mercado bursátil chino.
Se te proporciona el mismo conjunto de datos data que antes. Vamos a probarlo.
Nota: este código requiere xts versión 0.9-7 para funcionar. Puedes usar remotes::install_version() para instalar versiones específicas de paquetes.
Este ejercicio forma parte del curso
Visualización de series temporales en R
Instrucciones del ejercicio
- Grafica la tercera serie de
datacon el título "Citigroup" - Crea
vert_line, el índice del punto de datos en los datos de "citigroup" que cae el 4 de enero de 2016 - Añade una línea vertical roja en esta fecha usando
abline(),.index()yvert_line - Crea
hori_line, el objeto igual al valor medio del precio de "citigroup" - Añade una línea horizontal azul en este valor medio usando
abline()yhori_line
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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")