Los pingüinos de Palmer

Datos para las clases

Materiales docentes
Datos
Fecha de publicación

5 de julio de 2023

El paquete palmerpenguins de R contiene datos correspondientes a medidas tomadas sobre 344 pingüinos en el archipiélago Palmer de la Antártida. Estos datos se proponen a veces para reemplazar a los manidos datos de lirios de Anderson-Fisher. En realidad los dos conjuntos de datos tienen características muy similares, aunque el fichero de los pingüinos es ligeramente más complejo, ya que incluye tres variables cualitativas (isla, especie y sexo).

Allison Horst ha elaborado algunos dibujos que pueden ser útiles para presentar los datos en clase y que he usado en esta entrada. Algunas de sus posibilidades en la docencia se resumen en esta página. Los datos fueron publicados originalmente en Gorman et al. (2014).

Artwork by @allison_horst

Descripción

En el paquete hay dos ficheros de datos: penguins_raw, que contiene los datos originales, y penguins, que es una versión simplificada del anterior. Aquí se puede encontrar una descripción detallada del fichero simplificado.

Los datos corresponden a pingüinos de tres especies: Adélie, Chinstrap y Gentoo. En castellano nos podemos referir a estas especies como pingüino de Adelia, pingüino barbijo y pingüino juanito o gentú. Para cada pingüino se registra la especie, la isla del archipiélago Palmer a la que corresponde (Biscoe, Dream o Torgersen), dos medidas del pico (véase imagen), la longitud de la aleta, la masa corporal, el sexo, y el año en el que se realizó el estudio.

Artwork by @allison_horst

Carga de datos y un ejemplo gráfico

A modo de ejemplo se representa a continuación un diagrama de dispersión de las dos medidas del pico para las tres especies. Antes de usar el código hay que instalar el paquete desde CRAN mediante install.packages('palmerpenguins'). Modifico previamente el fichero para que todos los elementos del gráfico aparezcan en castellano.

library(tidyverse)
library(palmerpenguins)



# Prepara datos
palmer <- penguins %>% 
  drop_na() %>%  # elimina obs con datos faltantes
  rename(Especie = species)  %>% # renombra variable species
  mutate(Especie = recode(Especie, "Adelie" = "Adelia", "Chinstrap" = "Barbijo", "Gentoo" = "Gentú")) # Renombra especies
    
# Diagrama de dispersión
ggplot(palmer) +  
  geom_point(aes(x = bill_length_mm, y = bill_depth_mm, col = Especie)) +
  scale_colour_brewer(palette = "Set1") +
  labs(x = "Longitud del pico", y = "Profundidad del pico") 

A continuación se representan las rectas de mínimos cuadrados que relacionan las dos medidas del pico para cada especie, junto con la recta ajustada para todos los datos sin tener en cuenta la especie:

ggplot(palmer) +  
  geom_point(aes(x = bill_length_mm, y = bill_depth_mm, col = Especie)) +
  geom_smooth(aes(x = bill_length_mm, y = bill_depth_mm, col = Especie), method = lm, se = FALSE) +
  geom_smooth(aes(x = bill_length_mm, y = bill_depth_mm), method = lm, se = FALSE, col = 'black') +
  scale_colour_brewer(palette = "Set1") +
  labs(x = "Longitud del pico", y = "Profundidad del pico") 

Si no ajustamos la recta para cada especie por separado parece que la correlación entre las medidas es negativa. Este ejemplo puede servir para ilustrar la llamada paradoja de Simpson y la importancia de distinguir grupos homogéneos en los datos al realizar el análisis.