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:
Una vez instalada, carga la biblioteca en tu entorno de trabajo:
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 conplotly
.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 entext
.
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
- Introducción a R y RStudio
- Sintaxis Básica de R
- Tipos y Estructuras de Datos
- Operaciones y Funciones Básicas
- Importación y Exportación de Datos
Módulo 2: Manipulación de Datos
- Vectores y Listas
- Matrices y Arreglos
- Data Frames
- Factores
- Manipulación de Datos con dplyr
- Manipulación de Cadenas
Módulo 3: Visualización de Datos
- Introducción a la Visualización de Datos
- Gráficos Base R
- Fundamentos de ggplot2
- ggplot2 Avanzado
- Visualizaciones Interactivas con plotly
Módulo 4: Análisis Estadístico
- Estadísticas Descriptivas
- Distribuciones de Probabilidad
- Pruebas de Hipótesis
- Correlación y Regresión
- ANOVA y Pruebas Chi-Cuadrado
Módulo 5: Manejo Avanzado de Datos
- Manejo de Fechas y Tiempos
- Reestructuración de Datos
- Trabajo con Grandes Conjuntos de Datos
- Web Scraping
- APIs y JSON
Módulo 6: Conceptos Avanzados de Programación
- Escritura de Funciones
- Depuración y Manejo de Errores
- Programación Orientada a Objetos en R
- Programación Funcional
- Computación Paralela
Módulo 7: Aprendizaje Automático con R
- Introducción al Aprendizaje Automático
- Preprocesamiento de Datos
- Aprendizaje Supervisado
- Aprendizaje No Supervisado
- Evaluación y Ajuste de Modelos
Módulo 8: Temas Especializados
- Análisis de Series Temporales
- Análisis de Datos Espaciales
- Minería de Textos y Procesamiento de Lenguaje Natural
- Bioinformática con R
- Análisis de Datos Financieros