Del curso: R: Visualización de datos
Representación de datos temporales con gráficos de líneas en Plotly - Tutorial de R
Del curso: R: Visualización de datos
Representación de datos temporales con gráficos de líneas en Plotly
Si alguna vez has trabajado con fechas, sabes que normalmente dan muchos problemas, pero la parte de visualización no es especialmente compleja una vez ya tienes los datos en el formato correcto. Entonces, aquí, vamos a trabajar con las fechas que tenemos en este data set, en este conjunto de datos, que tenemos año, mes y día, todos los datos son del mismo año, y vamos a hacer un group_by donde vamos a hacer el promedio de retraso para cada uno de los días, ¿vale? Entonces, vamos a tener unos datos, que son los distintos días del año y la media de retraso de todos los vuelos que salieron ese día. Con estos datos, que ya los tenemos bien estructurados, generar un gráfico interactivo de fechas es relativamente sencillo. ¿Por qué? Porque, en realidad, solo nos interesa que esté bien estructurado el eje x, que sean fechas, y que el eje y sea numérico. Entonces, fíjate que es relativamente sencillo a nivel de código. Hay muchas cosas, pero, en realidad, son nombres de ejes, etc. La parte esencial del código es muy corta. Siguiente ejemplo. Lo mismo, pero añadimos marcadores. Fíjate que aquí había puesto lines, aquí pongo «lines+markers». Te animo a que explores todas estas opciones porque, quizás, te estás dejando algún tipo de gráfico muy interesante que, por no haber visto ejemplos, no sabemos que existe. Misma idea, pero ahora con marcadores, hay gente que lo prefiere. Siguiente ejemplo, misma idea, pero vamos a hacer un agregado. ¿Agregado por qué? Por grupos. Por lo tanto, estoy generando un gráfico donde, no solamente agrupo por fecha, sino agrupo por aerolínea. Por lo tanto, tenemos medias por día y aerolínea. Entonces, cuando vayamos, o sea, del código para el gráfico, tenemos que tener en cuenta que nuestro data set tiene esta estructura: fecha, aerolínea y retraso. Entonces, la fecha juega el papel de eje x, eje y, y color. Esto vuelve a ser perfectamente interactivo. Por lo tanto, nos permite seleccionar las aerolíneas que queremos y visualizarlo directamente. Esto también puede ser un menú desplegable, aunque es un poco más complejo de gestionar. Un ejemplo que a mí me interesa especialmente es el añadir un selector de fechas en el eje x. Evidentemente, todo este bloque de código no se escribe a mano de memoria, sino copias un ejemplo que encuentres en la documentación oficial, por ejemplo, que es lo que he hecho yo, o le pides a una inteligencia artificial generativa que te dé un ejemplo usando plotly donde tengas un selector. Yo aquí he añadido dos selectores y el código hay que mirárselo con calma. ¿Por qué? Porque tienes la opción de segmentar por el eje x, o de segmentar por trozos. Entonces, te segmenta un bloque y tú puedes moverte y ir viendo por semanas, o puedes ver tres meses y puedes irte desplazando por la serie por bloques de tres meses. Esto, insisto, a nivel de código es más complejo, pero, solamente, tenemos que dominar un poco la estructura para poder coger un ejemplo que ya exista y adaptarlo a nuestros datos. Si has trabajado alguna vez con series temporales, sabrás que existe algo que se llama Media móvil. La Media móvil es un suavizado de los datos, sobre todo para datos que tengan muchos picos, como es el caso el que nos ocupa. Fíjate que a nivel de código es un poco más complejo, ¿no? Son líneas más largas, pero en esencia no es algo muy distinto. Tenemos un data frame o un native, en este caso, donde le añadimos las Medias móviles con esta función del paquete zoo, zoo, y representamos el gráfico, añadiéndole la serie. El retraso medio juega un papel y la ponemos en gris, y añadimos una línea para cada Media móvil, lo que nos permite generar un gráfico. Veámoslo en grande. Donde no solamente presentó el dato en sí, sino también el suavizado. Fíjate que la Media móvil de orden 7 sigue dando algunos picos, mientras que la de orden 30 es mucho más suave. Es una manera de representar la tendencia general de la serie sin depender tanto de picos concretos.
Contenido
-
-
-
-
-
(Bloqueado)
Introducción a Plotly: generación de visualizaciones dinámicas3 min 41 s
-
(Bloqueado)
Gráficos interactivos de barras, sectores y boxplots en Plotly5 min 42 s
-
(Bloqueado)
Visualización de correlaciones con gráficos de dispersión en Plotly5 min 2 s
-
Representación de datos temporales con gráficos de líneas en Plotly5 min 42 s
-
(Bloqueado)
Exportación y compatibilidad de gráficos interactivos en Plotly4 min
-
(Bloqueado)
-
-