Tidyverse, ggplot2 y ggtree


Tidyverse es una colección de paquetes en R diseñados para trabajar de manera coherente con datos, usando una misma filosofía y sintaxis basada en tuberías (%>%).

Principales paquetes:

💡 En este curso, tidyverse será la base para preparar y organizar datos que luego vincularemos a árboles filogenéticos.


ggplot2 propone que toda visualización se construye combinando capas (al estilo Illustrator/Photoshop).

Las 7 capas de la gramática de gráficos son:

  1. Datos → la información a graficar.

  2. Estéticas (aes) → cómo se asignan variables a ejes, colores, tamaños.

  3. Geometrías (geoms) → el tipo de objeto gráfico (puntos, líneas, barras).

  4. Facetas → división en subgráficas.

  5. Estadísticas → resúmenes y transformaciones (conteos, regresiones).

  6. Coordenadas → el espacio de representación (cartesiano, polar, mapas).

  7. Temas → elementos no ligados a datos (fuentes, colores de fondo, márgenes).

ggplot(data = df, aes(x = var1, y = var2)) +   # Datos + Estéticas
  geom_point() +                               # Geometría
  facet_wrap(~grupo) +                         # Facetas
  stat_smooth(method = "lm") +                 # Estadísticas
  coord_cartesian(xlim = c(0, 10)) +           # Coordenadas
  theme_minimal()                              # Tema

📌 Orden de las capas: lo que se escribe al final en el código se dibuja encima.
Ejemplo:

library(ggplot2)

# Datos de ejemplo
df <- data.frame(
  x = 1:10,
  y = c(2, 5, 3, 8, 6, 9, 11, 12, 10, 13)
)

# Caso 1: línea primero, puntos después (puntos arriba de la línea)
p1 <- ggplot(df, aes(x, y)) +
  geom_line(color = "steelblue", linewidth = 1.2) +
  geom_point(color = "red", size = 3) +
  ggtitle("Orden: geom_line() + geom_point()") +
  theme_minimal()

# Caso 2: puntos primero, línea después (línea arriba de los puntos)
p2 <- ggplot(df, aes(x, y)) +
  geom_point(color = "red", size = 3) +
  geom_line(color = "steelblue", linewidth = 1.2) +
  ggtitle("Orden: geom_point() + geom_line()") +
  theme_minimal()

# Mostrar ambos gráficos lado a lado
library(patchwork)
p1 + p2


ggtree es una extensión de ggplot2 pensada para trabajar con árboles filogenéticos.

📌 Con ggtree puedes: