Crear gráficos interactivos en R con GGANIMATE

GGANIMATE es una extensión del paquete ggplot2 para crear ggplots animados utilizando el softaware R. Proporciona una gama de nuevas funciones que se pueden agregar al objeto de trazado para personalizar cómo debe cambiar con el tiempo.

Características clave de gganimate:

transiciones : desea que sus datos cambien

vistas : quieres que tu punto de vista cambie

sombras : quieres que la animación tenga memoria

Para realizar los gráficos animados utilizaremos bases de datos libres cargadas en el mismo R y que se utilizan para realizar muchas prácticas en ciencia de datos:

mtcars: Una de las bases de datos que proporciona el software R. Los datos se extrajeron de la revista Motor Trend de EE. UU. De 1974, y comprenden el consumo de combustible y 10 aspectos del diseño y rendimiento del automóvil para 32 automóviles (modelos 1973-74).

https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/mtcars

gapminder: La fundación Gapminder7 es una organización sin fines de lucro con sede en Suecia que promueve el desarrollo global mediante el uso de estadísticas que pueden ayudar a reducir mitos comunes e historias sensacionalistas sobre la salud y la economía mundial. Una selección importante de datos ya está cargada en la librería gapminder.

https://cran.r-project.org/web/packages/gapminder/README.html

airquality: Base de datos que contiene información de las medidas de calidad del aire de Nueva York. Proporciona mediciones diarias de la calidad del aire en Nueva York, de mayo a septiembre de 1973.

https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/airquality

babynames: Este paquete contiene un conjunto de datos del mismo nombre que contiene el número de niños y niñas estadounidenses proporcionados por la SSA nacidos cada año desde 1880 con cada nombre. Nombres utilizados para al menos 5 niños de cualquier sexo.

1. Preparando el entorno de trabajo

Primero limpiamos nuestra área de trabajo:

Nos ubicamos en nuestra ruta de trabajo:

Cargando librerías necesarias:
2. GRAFICO DE CAJAS: Analizando la base de datos mtcars

Vamos a medir la relación del número de millas logradas por el número de cilindros que posee el carro.

GRAFICO ESTÁTICO:

GRÁFICO DINÁMICO:

transition_time(). La duración de la transición entre los estados se establecerá para que se corresponda con la diferencia de tiempo real entre ellos.

3. GRAFICO DE PUNTOS: Analizando la base de datos gapminder

Vamos a cruzar las variables: esperanza de vida al nacer con el PBI percapita por cada país.

GRÁFICO ESTÁTICO:

Utilizamos filtros para mostrar el gráfico para un año en específico.

GRÁFICO DINÁMICO:

frame_time. Da el tiempo al que corresponde el fotograma actual.

Creando facets por continente:

GRÁFICO ESTÁTICO:

GRÁFICO DINÁMICO:

4. GRAFICO DE LINEAS: Analizando la base de datos airquality

Analizamos la temperatura comparando los dias a lo largo de los meses

GRÁFICO ESTÁTICO:

GRÁFICO DINÁMICO:

transition_reveal. Revelar datos a lo largo de una dimensión determinada.

5. GRAFICO DE LINEAS: Analizando la base de datos babynames

Seleccionamos 3 nombres para medir su tendencia de uso a través del tiempo.

GRÁFICO ESTÁTICO:

GRÁFICO DINÁMICO:

6. GRAFICO DE BARRAS: Analizando la base de datos airquality

Vamos a crear un diagrama de barras de la temperatura media por mes.

GRÁFICO ESTÁTICO:

GRÁFICO DINÁMICO:

transition_states. Transición entre varias etapas distintas de los datos.

7. GRAFICO DE DENSIDADES: Analizando la base de datos gapminder

Vamos a crear un gráfico de densidad de la esperanza de vida a través de los años.

GRÁFICO ESTÁTICO:

Utilizamos filtros para mostrar el gráfico para un año en específico.

GRÁFICO DINÁMICO:

8. GUARDAR ANIMACIÓN:

Si necesita guardar la animación para su uso posterior, puede utilizar la función anim_save(). Funciona de forma muy similar ggsave() de ggplot2 y captura automáticamente la última animación. Renderizada la ruta si no especifica una directamente.

Descarga el código aquí:

https://github.com/cesarqb/dynamic-graphics-with-gganimate-in-r

Fuentes utilizadas:

https://bit.ly/3igUxmz