Introducción

En este tema, aprenderemos a crear visualizaciones interactivas utilizando la biblioteca plotly en R. plotly es una herramienta poderosa que permite crear gráficos interactivos y altamente personalizables, lo que facilita la exploración y presentación de datos de manera dinámica.

Instalación y Configuración

Antes de comenzar, asegúrate de tener instalada la biblioteca plotly. Puedes instalarla desde CRAN utilizando el siguiente comando:

install.packages("plotly")

Una vez instalada, carga la biblioteca en tu entorno de trabajo:

library(plotly)

Conceptos Básicos de plotly

Creación de un Gráfico Básico

Comencemos con un ejemplo simple de un gráfico de dispersión. Utilizaremos el conjunto de datos mtcars que viene incluido en R.

# Cargar datos
data(mtcars)

# Crear gráfico de dispersión
p <- plot_ly(data = mtcars, x = ~wt, y = ~mpg, type = 'scatter', mode = 'markers')

# Mostrar gráfico
p

Explicación del Código

  • plot_ly(): Función principal para crear gráficos con plotly.
  • data = mtcars: Especifica el conjunto de datos a utilizar.
  • x = ~wt: Define la variable del eje X (peso del coche).
  • y = ~mpg: Define la variable del eje Y (millas por galón).
  • type = 'scatter': Especifica el tipo de gráfico (dispersión en este caso).
  • mode = 'markers': Define el modo del gráfico (solo puntos).

Personalización del Gráfico

Podemos personalizar el gráfico añadiendo títulos, etiquetas y cambiando los colores de los puntos.

p <- plot_ly(data = mtcars, x = ~wt, y = ~mpg, type = 'scatter', mode = 'markers',
             marker = list(color = 'rgba(255, 182, 193, .9)', size = 10)) %>%
  layout(title = 'Relación entre Peso y Consumo de Combustible',
         xaxis = list(title = 'Peso (1000 lbs)'),
         yaxis = list(title = 'Millas por Galón'))

p

Explicación del Código

  • marker = list(color = 'rgba(255, 182, 193, .9)', size = 10): Personaliza los marcadores (color y tamaño).
  • layout(): Función para personalizar el diseño del gráfico (títulos y etiquetas de los ejes).

Gráficos Interactivos Avanzados

Gráfico de Barras Interactivo

Vamos a crear un gráfico de barras interactivo utilizando el conjunto de datos diamonds de la biblioteca ggplot2.

# Instalar y cargar ggplot2
install.packages("ggplot2")
library(ggplot2)

# Cargar datos
data(diamonds)

# Crear gráfico de barras
p <- plot_ly(data = diamonds, x = ~cut, type = 'bar')

# Mostrar gráfico
p

Explicación del Código

  • x = ~cut: Define la variable del eje X (calidad del corte del diamante).
  • type = 'bar': Especifica el tipo de gráfico (barras en este caso).

Añadir Interactividad

Podemos añadir interactividad al gráfico de barras, como mostrar el conteo de cada categoría al pasar el cursor.

p <- plot_ly(data = diamonds, x = ~cut, type = 'bar',
             text = ~paste('Count: ', ..count..), hoverinfo = 'text')

p

Explicación del Código

  • text = ~paste('Count: ', ..count..): Define el texto que se mostrará al pasar el cursor.
  • hoverinfo = 'text': Especifica que se muestre el texto definido en text.

Ejercicio Práctico

Ejercicio 1: Gráfico de Líneas Interactivo

Crea un gráfico de líneas interactivo utilizando el conjunto de datos economics de la biblioteca ggplot2. El gráfico debe mostrar la evolución del desempleo a lo largo del tiempo.

Solución

# Cargar datos
data(economics)

# Crear gráfico de líneas
p <- plot_ly(data = economics, x = ~date, y = ~unemploy, type = 'scatter', mode = 'lines',
             line = list(color = 'blue')) %>%
  layout(title = 'Evolución del Desempleo en EE.UU.',
         xaxis = list(title = 'Fecha'),
         yaxis = list(title = 'Número de Desempleados'))

# Mostrar gráfico
p

Explicación del Código

  • x = ~date: Define la variable del eje X (fecha).
  • y = ~unemploy: Define la variable del eje Y (número de desempleados).
  • type = 'scatter': Especifica el tipo de gráfico (dispersión en este caso).
  • mode = 'lines': Define el modo del gráfico (líneas).

Conclusión

En esta sección, hemos aprendido a crear gráficos interactivos utilizando la biblioteca plotly en R. Hemos cubierto desde gráficos básicos hasta gráficos más avanzados y personalizados. La interactividad de plotly permite explorar los datos de manera dinámica y efectiva, lo que es especialmente útil en análisis de datos y presentaciones.

En el siguiente módulo, profundizaremos en el análisis estadístico, comenzando con estadísticas descriptivas.

Programación en R: De Principiante a Avanzado

Módulo 1: Introducción a R

Módulo 2: Manipulación de Datos

Módulo 3: Visualización de Datos

Módulo 4: Análisis Estadístico

Módulo 5: Manejo Avanzado de Datos

Módulo 6: Conceptos Avanzados de Programación

Módulo 7: Aprendizaje Automático con R

Módulo 8: Temas Especializados

Módulo 9: Proyecto y Estudios de Caso

© Copyright 2024. Todos los derechos reservados