En este módulo, profundizaremos en las capacidades avanzadas de ggplot2, una de las librerías más populares para la visualización de datos en R. Aprenderemos a crear gráficos complejos y personalizados, a trabajar con facetas y a utilizar temas para mejorar la presentación de nuestros gráficos.

Contenido

Facetas en ggplot2

Las facetas permiten dividir un gráfico en múltiples paneles basados en los valores de una o más variables. Esto es útil para comparar subgrupos dentro de un conjunto de datos.

Ejemplo: Facetado Simple

library(ggplot2)

# Cargar datos
data(mpg)

# Crear gráfico con facetas
p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  facet_wrap(~ class)

print(p)

En este ejemplo, facet_wrap(~ class) divide el gráfico en paneles según la variable class.

Ejemplo: Facetado por Filas y Columnas

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  facet_grid(drv ~ cyl)

print(p)

Aquí, facet_grid(drv ~ cyl) crea una cuadrícula de gráficos donde las filas están basadas en drv y las columnas en cyl.

Temas y Personalización

Los temas en ggplot2 permiten personalizar la apariencia de los gráficos, incluyendo colores, fuentes y estilos.

Ejemplo: Uso de Temas Predefinidos

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  theme_minimal()

print(p)

theme_minimal() aplica un tema predefinido minimalista al gráfico.

Ejemplo: Personalización de Temas

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  theme(
    panel.background = element_rect(fill = "lightblue"),
    panel.grid.major = element_line(color = "white"),
    axis.text = element_text(size = 12, color = "blue"),
    axis.title = element_text(size = 14, face = "bold")
  )

print(p)

En este ejemplo, personalizamos varios aspectos del tema, como el fondo del panel, las líneas de la cuadrícula y los textos de los ejes.

Anotaciones y Etiquetas

Las anotaciones y etiquetas son útiles para destacar puntos específicos o agregar información adicional a los gráficos.

Ejemplo: Agregar Etiquetas a Puntos

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  geom_text(aes(label = model), vjust = -1, size = 3)

print(p)

geom_text(aes(label = model)) agrega etiquetas con el nombre del modelo a cada punto.

Ejemplo: Anotaciones

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  annotate("text", x = 6, y = 40, label = "High Efficiency", color = "red", size = 5)

print(p)

annotate("text", ...) agrega una anotación de texto en una posición específica del gráfico.

Gráficos Compuestos

Los gráficos compuestos combinan múltiples gráficos en una sola visualización. Esto es útil para comparar diferentes aspectos de los datos en un solo lugar.

Ejemplo: Uso de patchwork para Gráficos Compuestos

library(patchwork)

p1 <- ggplot(mpg, aes(x = displ, y = hwy)) + geom_point()
p2 <- ggplot(mpg, aes(x = class, y = hwy)) + geom_boxplot()

combined <- p1 + p2

print(combined)

En este ejemplo, utilizamos la librería patchwork para combinar dos gráficos en uno solo.

Ejercicios Prácticos

Ejercicio 1: Facetado y Personalización

Crea un gráfico de dispersión utilizando el conjunto de datos mpg, facetado por la variable manufacturer. Personaliza el tema del gráfico para que tenga un fondo gris claro y los textos de los ejes en color verde.

Solución

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  facet_wrap(~ manufacturer) +
  theme(
    panel.background = element_rect(fill = "grey90"),
    axis.text = element_text(color = "green")
  )

print(p)

Ejercicio 2: Anotaciones y Etiquetas

Crea un gráfico de dispersión utilizando el conjunto de datos mpg. Agrega etiquetas a los puntos que representan los modelos con hwy mayor a 35. Añade una anotación en la posición (4, 40) con el texto "High Efficiency".

Solución

p <- ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point() +
  geom_text(data = subset(mpg, hwy > 35), aes(label = model), vjust = -1, size = 3) +
  annotate("text", x = 4, y = 40, label = "High Efficiency", color = "red", size = 5)

print(p)

Conclusión

En este módulo, hemos explorado las capacidades avanzadas de ggplot2, incluyendo el uso de facetas, la personalización de temas, la adición de anotaciones y etiquetas, y la creación de gráficos compuestos. Estas herramientas te permitirán crear visualizaciones de datos más complejas y personalizadas, mejorando la presentación y el análisis de tus datos. En el próximo módulo, nos adentraremos en la creación de visualizaciones interactivas con plotly.

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