Enlace al video de presentación

[Pegar aquí el enlace al video (Loom, Zoom, OBS, Teams, etc.)]


Introducción

Este documento presenta la solución completa al Taller Práctico utilizando el conjunto de datos palmerpenguins. Se emplea consistentemente el operador pipe (%>%) para la manipulación de datos y la construcción de visualizaciones con ggplot2.

El dataset contiene mediciones de tres especies de pingüinos (Adelie, Chinstrap y Gentoo) recolectadas en la Antártida: longitud y profundidad del pico, longitud de aletas, masa corporal, sexo e isla de origen.

# Carga de paquetes necesarios
library(palmerpenguins)
library(dplyr)
library(ggplot2)

Ejercicio 1: Limpieza y Descriptivos con dplyr

Objetivo: Filtrar observaciones con valores faltantes en sex, agrupar por species y sex, y calcular media, desviación estándar de la masa corporal y el número de observaciones por grupo.

# Limpieza y cálculo de descriptivos
resultado_ej1 <- penguins %>%
  filter(!is.na(sex)) %>%                          # Eliminar observaciones con NA en sex
  group_by(species, sex) %>%                       # Agrupar por especie y sexo
  summarise(
    media_masa = mean(body_mass_g, na.rm = TRUE),  # Media de masa corporal
    desv_est_masa = sd(body_mass_g, na.rm = TRUE), # Desviación estándar
    n = n(),                                       # Cantidad de observaciones
    .groups = "drop"
  )

knitr::kable(resultado_ej1, digits = 1)
species sex media_masa desv_est_masa n
Adelie female 3368.8 269.4 73
Adelie male 4043.5 346.8 73
Chinstrap female 3527.2 285.3 34
Chinstrap male 3939.0 362.1 34
Gentoo female 4679.7 281.6 58
Gentoo male 5484.8 313.2 61

Interpretación estadística y biológica:

Después de eliminar las observaciones con sexo desconocido, se observa que:

  • Los pingüinos Gentoo presentan la mayor masa corporal promedio, tanto en machos como en hembras. Los machos Gentoo superan ampliamente los 5000 g.
  • Los Adelie y Chinstrap tienen masas corporales más similares entre sí y significativamente menores que los Gentoo.
  • En todas las especies se aprecia dimorfismo sexual: los machos son consistentemente más pesados que las hembras. Esta diferencia es especialmente marcada en Gentoo.
  • El tamaño de muestra (n) es razonable en todos los grupos (alrededor de 30–60 observaciones), lo que permite estimaciones estables de media y desviación estándar.

Biológicamente, la mayor masa de los Gentoo se asocia con su ecología: son buceadores profundos y eficientes que se alimentan principalmente de krill, y su mayor tamaño corporal les confiere ventajas en termorregulación y capacidad de almacenamiento de energía en el ambiente antártico.


Ejercicio 2: Diagrama de Dispersión (Scatter Plot)

Objetivo: Construir un gráfico de dispersión de longitud del pico (bill_length_mm) vs. masa corporal (body_mass_g), coloreado por especie.

# Gráfico de dispersión
ggplot(penguins %>% filter(!is.na(bill_length_mm), !is.na(body_mass_g)), 
       aes(x = bill_length_mm, y = body_mass_g, color = species)) +
  geom_point(alpha = 0.7, size = 2.5) +
  labs(
    title = "Relación entre longitud del pico y masa corporal",
    subtitle = "Pingüinos de Palmer (Antártida)",
    x = "Longitud del pico (mm)",
    y = "Masa corporal (g)",
    color = "Especie"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

Interpretación estadística y biológica:

El gráfico muestra una clara separación entre especies:

  • Los Gentoo se concentran en el extremo superior derecho: picos más largos y mayor masa corporal.
  • Los Adelie tienden a tener picos más cortos y menor masa.
  • Los Chinstrap ocupan una posición intermedia en longitud de pico, pero con masa corporal similar a los Adelie.

Se observa una relación positiva general entre longitud del pico y masa corporal: pingüinos con picos más largos tienden a ser más pesados. Esta asociación es esperable porque ambas variables están relacionadas con el tamaño corporal general del animal. Sin embargo, la separación por color sugiere que gran parte de la variación se debe a diferencias interespecíficas más que a una relación continua dentro de cada especie.


Ejercicio 3: Incorporación de Regresión Lineal

Objetivo: Añadir una capa de regresión lineal simple (geom_smooth(method = "lm")) al gráfico anterior y analizar si la relación cambia según la especie.

# Dispersión + regresión lineal por especie
ggplot(penguins %>% filter(!is.na(bill_length_mm), !is.na(body_mass_g)), 
       aes(x = bill_length_mm, y = body_mass_g, color = species)) +
  geom_point(alpha = 0.6, size = 2) +
  geom_smooth(method = "lm", se = TRUE, linewidth = 1) +
  labs(
    title = "Relación entre longitud del pico y masa corporal con regresión lineal",
    subtitle = "Líneas de tendencia por especie (método lm)",
    x = "Longitud del pico (mm)",
    y = "Masa corporal (g)",
    color = "Especie"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

Análisis visual de la relación por especie:

Al añadir las rectas de regresión lineal se evidencia que:

  1. Todas las especies muestran una pendiente positiva, confirmando que dentro de cada especie existe una asociación positiva entre longitud del pico y masa corporal.
  2. La pendiente de los Gentoo parece ligeramente más pronunciada, lo que sugiere que un incremento en la longitud del pico se asocia con un mayor incremento en masa corporal en esta especie.
  3. Las bandas de confianza (áreas sombreadas) son más estrechas en las zonas con mayor densidad de puntos, indicando mayor precisión de la estimación.
  4. Existe solapamiento parcial entre las bandas de Adelie y Chinstrap, mientras que Gentoo se mantiene claramente separado.

Biológicamente, estas diferencias pueden reflejar adaptaciones ecológicas distintas: los Gentoo, al ser de mayor tamaño y tener dietas y comportamientos de forrajeo diferentes, presentan una alometría (relación entre tamaño de estructuras) distinta a las otras dos especies, que son más cercanas evolutivamente entre sí.


Ejercicio 4: Comparación de Distribuciones con Boxplots

Objetivo: Crear un diagrama de caja de la longitud de las aletas (flipper_length_mm) por especie, con relleno según especie y tema minimalista.

# Boxplot de longitud de aletas por especie
ggplot(penguins %>% filter(!is.na(flipper_length_mm)), 
       aes(x = species, y = flipper_length_mm, fill = species)) +
  geom_boxplot(alpha = 0.8, outlier.shape = 21, outlier.size = 2) +
  labs(
    title = "Comparación de la longitud de aletas entre especies",
    subtitle = "Pingüinos de Palmer",
    x = "Especie",
    y = "Longitud de aletas (mm)",
    fill = "Especie"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "none"   # El color ya está en el eje X
  )

Interpretación estadística y biológica:

El boxplot revela diferencias muy claras:

  • Los Gentoo tienen las aletas significativamente más largas (mediana cercana a 217 mm), con una distribución desplazada hacia valores altos y poca superposición con las otras especies.
  • Los Adelie presentan las aletas más cortas (mediana alrededor de 190 mm).
  • Los Chinstrap se ubican en una posición intermedia, aunque más cercanos a los Adelie que a los Gentoo.

La longitud de las aletas es un rasgo morfológico clave relacionado con la eficiencia de natación y buceo. Los Gentoo, conocidos por ser excelentes buceadores y nadadores rápidos, poseen aletas más largas que les permiten generar mayor propulsión. Las diferencias observadas son consistentes con la separación ecológica y filogenética de las tres especies.

Además, se observa cierta asimetría y presencia de valores atípicos (outliers) en algunas especies, lo cual es normal en datos biológicos y refleja la variabilidad individual dentro de cada población.


Conclusiones generales

  1. El filtrado de valores faltantes en sex es fundamental para análisis que involucran dimorfismo sexual.
  2. Existe un claro dimorfismo sexual en masa corporal en las tres especies (machos más pesados).
  3. Los Gentoo se distinguen marcadamente de Adelie y Chinstrap por su mayor tamaño corporal, picos más largos y aletas más largas.
  4. Existe una relación positiva entre longitud del pico y masa corporal, tanto globalmente como dentro de cada especie.
  5. Las visualizaciones con ggplot2 combinadas con el operador pipe facilitan un flujo de trabajo limpio, reproducible y fácil de interpretar.

Sesión de R

sessionInfo()
## R version 4.6.1 (2026-06-24 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26200)
## 
## Matrix products: default
##   LAPACK version 3.12.1
## 
## locale:
## [1] LC_COLLATE=Spanish_Colombia.utf8  LC_CTYPE=Spanish_Colombia.utf8   
## [3] LC_MONETARY=Spanish_Colombia.utf8 LC_NUMERIC=C                     
## [5] LC_TIME=Spanish_Colombia.utf8    
## 
## time zone: America/Bogota
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggplot2_4.0.3        dplyr_1.2.1          palmerpenguins_0.1.1
## 
## loaded via a namespace (and not attached):
##  [1] Matrix_1.7-5       gtable_0.3.6       jsonlite_2.0.0     compiler_4.6.1    
##  [5] tidyselect_1.2.1   jquerylib_0.1.4    splines_4.6.1      scales_1.4.0      
##  [9] yaml_2.3.12        fastmap_1.2.0      lattice_0.22-9     R6_2.6.1          
## [13] labeling_0.4.3     generics_0.1.4     knitr_1.52         tibble_3.3.1      
## [17] bslib_0.12.0       pillar_1.11.1      RColorBrewer_1.1-3 rlang_1.3.0       
## [21] cachem_1.1.0       xfun_0.60          sass_0.4.10        S7_0.2.2          
## [25] cli_3.6.6          withr_3.0.3        magrittr_2.0.5     mgcv_1.9-4        
## [29] digest_0.6.39      grid_4.6.1         rstudioapi_0.19.0  lifecycle_1.0.5   
## [33] nlme_3.1-169       vctrs_0.7.3        evaluate_1.0.5     glue_1.8.1        
## [37] farver_2.1.2       rmarkdown_2.32     tools_4.6.1        pkgconfig_2.0.3   
## [41] htmltools_0.5.9