1. Descripción de los Datos y Objetivos de Estudio

Descrpción de los datos

La base de datos penguins_raw contiene información de \(344\) pingüinos estudiados en las islas de la región de Palmer, en la Antártida. Los datos incluyen información sobre la especie, ubicación, características físicas, sexo, fecha de observación y algunas mediciones relacionadas con la composición de los isótopos. En total, la base contiene \(17 variables\), tanto categóricas como numéricas.

Descripción de las variables

La base de datos penguins_raw contiene información de 344 pingüinos, incluyendo datos sobre su especie, ubicación, características físicas, sexo y algunos indicadores relacionados con su alimentación. A continuación, se describe cada una de las variables:

Descrpicón de Variables

Variable Descripción
studyName Nombre del estudio en el que se recopilaron los datos.
Sample Number Número de identificación asignado a cada muestra o registro.
Species Especie del pingüino. Se encuentran tres especies: Adelie, Chinstrap y Gentoo.
Region Región geográfica donde se realizó el estudio.
Island Isla donde fue observado o capturado el pingüino. Las principales son Biscoe, Dream y Torgersen.
Stage Etapa de desarrollo del pingüino al momento de la medición.
Individual ID Identificador utilizado para distinguir a cada pingüino.
Clutch Completion Indica si la puesta de huevos estaba completa al momento de la observación.
Date Egg Fecha en la que fue puesto el huevo.
Culmen Length (mm) Longitud del pico del pingüino, medida en milímetros.
Culmen Depth (mm) Profundidad o grosor del pico, medida en milímetros.
Flipper Length (mm) Longitud de la aleta, medida en milímetros.
Body Mass (g) Peso corporal del pingüino, expresado en gramos.
Sex Sexo del pingüino, clasificado como macho o hembra.
Delta 15 N (‰) Medición del isótopo de nitrógeno-15, relacionada con la alimentación y la posición del pingüino en la cadena alimenticia.
Delta 13 C (‰) Medición del isótopo de carbono-13, relacionada principalmente con el tipo de alimentación y el ambiente.
Comments Comentarios o información adicional registrada durante la observación.

De las 17 variables originales de la libreta de campo, se seleccionan 4 variables categóricas cualitativas para estructurar la matriz del ACM:

Interrogantes

A partir de estas variables, el análisis puede buscar responder preguntas como:

Objetivo de estudio

El objetivo es analizar las relaciones entre las principales variables categóricas de los pingüinos mediante un Análisis de Correspondencias Múltiples (ACM), con el fin de identificar patrones y asociaciones entre las diferentes categorías.

2. Preparación de los Datos

Antes de realizar el Análisis de Correspondencias Múltiples (ACM), se realizó una revisión de la base de datos penguins_raw con el objetivo de conocer su estructura, identificar posibles datos faltantes y seleccionar las variables adecuadas para el análisis.

Cargar la base de datos

library(palmerpenguins)

data("penguins_raw")

head(penguins_raw)
## # A tibble: 6 × 17
##   studyName `Sample Number` Species          Region Island Stage `Individual ID`
##   <chr>               <dbl> <chr>            <chr>  <chr>  <chr> <chr>          
## 1 PAL0708                 1 Adelie Penguin … Anvers Torge… Adul… N1A1           
## 2 PAL0708                 2 Adelie Penguin … Anvers Torge… Adul… N1A2           
## 3 PAL0708                 3 Adelie Penguin … Anvers Torge… Adul… N2A1           
## 4 PAL0708                 4 Adelie Penguin … Anvers Torge… Adul… N2A2           
## 5 PAL0708                 5 Adelie Penguin … Anvers Torge… Adul… N3A1           
## 6 PAL0708                 6 Adelie Penguin … Anvers Torge… Adul… N3A2           
## # ℹ 10 more variables: `Clutch Completion` <chr>, `Date Egg` <date>,
## #   `Culmen Length (mm)` <dbl>, `Culmen Depth (mm)` <dbl>,
## #   `Flipper Length (mm)` <dbl>, `Body Mass (g)` <dbl>, Sex <chr>,
## #   `Delta 15 N (o/oo)` <dbl>, `Delta 13 C (o/oo)` <dbl>, Comments <chr>

Revision de la esctructura

Primero se revisó la estructura de la base de datos para conocer el número de observaciones, variables y el tipo de dato de cada una.

dim(penguins_raw)
## [1] 344  17
str(penguins_raw)
## tibble [344 × 17] (S3: tbl_df/tbl/data.frame)
##  $ studyName          : chr [1:344] "PAL0708" "PAL0708" "PAL0708" "PAL0708" ...
##  $ Sample Number      : num [1:344] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Species            : chr [1:344] "Adelie Penguin (Pygoscelis adeliae)" "Adelie Penguin (Pygoscelis adeliae)" "Adelie Penguin (Pygoscelis adeliae)" "Adelie Penguin (Pygoscelis adeliae)" ...
##  $ Region             : chr [1:344] "Anvers" "Anvers" "Anvers" "Anvers" ...
##  $ Island             : chr [1:344] "Torgersen" "Torgersen" "Torgersen" "Torgersen" ...
##  $ Stage              : chr [1:344] "Adult, 1 Egg Stage" "Adult, 1 Egg Stage" "Adult, 1 Egg Stage" "Adult, 1 Egg Stage" ...
##  $ Individual ID      : chr [1:344] "N1A1" "N1A2" "N2A1" "N2A2" ...
##  $ Clutch Completion  : chr [1:344] "Yes" "Yes" "Yes" "Yes" ...
##  $ Date Egg           : Date[1:344], format: "2007-11-11" "2007-11-11" ...
##  $ Culmen Length (mm) : num [1:344] 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ...
##  $ Culmen Depth (mm)  : num [1:344] 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ...
##  $ Flipper Length (mm): num [1:344] 181 186 195 NA 193 190 181 195 193 190 ...
##  $ Body Mass (g)      : num [1:344] 3750 3800 3250 NA 3450 ...
##  $ Sex                : chr [1:344] "MALE" "FEMALE" "FEMALE" NA ...
##  $ Delta 15 N (o/oo)  : num [1:344] NA 8.95 8.37 NA 8.77 ...
##  $ Delta 13 C (o/oo)  : num [1:344] NA -24.7 -25.3 NA -25.3 ...
##  $ Comments           : chr [1:344] "Not enough blood for isotopes." NA NA "Adult not sampled." ...
##  - attr(*, "spec")=List of 3
##   ..$ cols   :List of 17
##   .. ..$ studyName          : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Sample Number      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Species            : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Region             : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Island             : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Stage              : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Individual ID      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Clutch Completion  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Date Egg           :List of 1
##   .. .. ..$ format: chr ""
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_date" "collector"
##   .. ..$ Culmen Length (mm) : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Culmen Depth (mm)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Flipper Length (mm): list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Body Mass (g)      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Sex                : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Delta 15 N (o/oo)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Delta 13 C (o/oo)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Comments           : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ skip   : num 1
##   ..- attr(*, "class")= chr "col_spec"

Revisión de datos faltantes Se revisó la presencia de valores faltantes en las variables de la base.

colSums(is.na(penguins_raw))
##           studyName       Sample Number             Species              Region 
##                   0                   0                   0                   0 
##              Island               Stage       Individual ID   Clutch Completion 
##                   0                   0                   0                   0 
##            Date Egg  Culmen Length (mm)   Culmen Depth (mm) Flipper Length (mm) 
##                   0                   2                   2                   2 
##       Body Mass (g)                 Sex   Delta 15 N (o/oo)   Delta 13 C (o/oo) 
##                   2                  11                  14                  13 
##            Comments 
##                 290

Los valores faltantes fueron identificados para evitar que afectaran el desarrollo del ACM. Para el análisis se conservaron únicamente los registros que cuentan con información completa en las variables categóricas seleccionadas.

Selección de variables

Para realizar el ACM se seleccionaron las variables categóricas que permiten estudiar las características y relaciones entre los diferentes grupos de pingüinos.

datos_acm <- penguins_raw[, c("Species", "Island", "Sex", "Clutch Completion")]

Las variables seleccionadas son:

Species: especie del pingüino. Island: isla donde fue observado. Sex: sexo del pingüino. Clutch Completion: indica si la puesta de huevos estaba completa.

Conversión de variables a factores

Finalmente, las variables seleccionadas se transformaron a tipo factor para asegurar que fueran reconocidas como variables categóricas por los procedimientos estadísticos posteriores.

datos_acm[] <- lapply(datos_acm, factor)

str(datos_acm)
## tibble [344 × 4] (S3: tbl_df/tbl/data.frame)
##  $ Species          : Factor w/ 3 levels "Adelie Penguin (Pygoscelis adeliae)",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Island           : Factor w/ 3 levels "Biscoe","Dream",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Sex              : Factor w/ 2 levels "FEMALE","MALE": 2 1 1 NA 1 2 1 2 NA NA ...
##  $ Clutch Completion: Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 1 1 2 2 ...
##  - attr(*, "spec")=List of 3
##   ..$ cols   :List of 17
##   .. ..$ studyName          : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Sample Number      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Species            : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Region             : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Island             : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Stage              : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Individual ID      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Clutch Completion  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Date Egg           :List of 1
##   .. .. ..$ format: chr ""
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_date" "collector"
##   .. ..$ Culmen Length (mm) : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Culmen Depth (mm)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Flipper Length (mm): list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Body Mass (g)      : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Sex                : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ Delta 15 N (o/oo)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Delta 13 C (o/oo)  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ Comments           : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ skip   : num 1
##   ..- attr(*, "class")= chr "col_spec"

Revisamos datos faltantes de las variables que ocupamos y eliminamos los datos faltantes

colSums(is.na(datos_acm))
##           Species            Island               Sex Clutch Completion 
##                 0                 0                11                 0
datos_acm_n<-na.omit(datos_acm)
colSums(is.na(datos_acm_n))
##           Species            Island               Sex Clutch Completion 
##                 0                 0                 0                 0
dim(datos_acm_n)
## [1] 333   4

Eliminamos los datos faltantes y nos quedamos con tan solo 333 observaciones.

3. Justificación del ACM Y Contraste de Variables

Para justificar estadísticamente la aplicación del Análisis de Correspondencias Múltiples (ACM), evaluamos la independencia de nuestras variables categóricas. Partimos de la siguiente premisa:

\(H_0\) General: Todas las variables cualitativas (Especie, Isla, Sexo y Nidada) son completamente independientes entre sí.

\(H_1\) General: Existe asociación o dependencia entre al menos un par de las variables cualitativas.

Para rechazar la hipótesis nula, contrastaremos visualmente dos pares de variables mediante gráficos de frecuencias observadas.

A) Especie vs. Isla de Anidación

\(H_0\): La especie del pingüino es independiente de la isla.

\(H_1\): La especie del pingüino depende de la isla en la que habita.

library(ggplot2)

ggplot(data = datos_acm_n) +
  geom_count(mapping = aes(x = Species, y = Island)) +
  labs(title = "Relación entre Especie e Isla de Anidación", x = "Especie", y = "Isla") +
  theme_minimal()

Al observar el tamaño de los puntos en la gráfica, es evidente que las especies no se distribuyen de forma aleatoria o equitativa en todas las islas. Por ejemplo, ciertas especies solo se registraron en islas específicas, mientras que otras comparten hábitats con frecuencias muy distintas.Esta clara asociación visual nos da la evidencia para rechazar la hipótesis nula (\(H_0\)). Dado que las variables cualitativas están fuertemente relacionadas, se justifica plenamente la adecuación de aplicar un Análisis de Correspondencias Múltiples (ACM) para explorar la estructura completa de asociaciones en la base de datos.

B) Especie vs. Isla de Anidación

\(H_0\): El éxito en completar la nidada es independiente de la especie.

\(H_1\): Existe asociación entre la especie y la probabilidad de completar la nidada

ggplot(data = datos_acm_n) +
  geom_count(mapping = aes(x = Species, y = `Clutch Completion`)) +
  labs(title = "Relación entre Especie y Postura de Huevos Completa", x = "Especie", y = "Nidada Completa") +
  theme_minimal()

La clara variación en el tamaño de los puntos en ambos contrastes evidencia que existen múltiples patrones de asociación entre las categorías de la base de datos. Al rechazar la hipótesis nula de independencia general, se justifica plenamente el uso del Análisis de Correspondencias Múltiples (ACM) para mapear y cuantificar la red completa de relaciones cualitativas.

4. Grafico de Sedimentación: Eigenvalores y Varianza Retenida

Una vez demostrada la asociación entre nuestras variables, procedemos a calcular el Análisis de Correspondencias Múltiples (ACM). El objetivo en esta etapa es determinar cuántas dimensiones matemáticas son necesarias para explicar la mayor cantidad de información (varianza) de los pingüinos, perdiendo la menor cantidad de datos posible.

# Cargar librerías necesarias
library(FactoMineR)
library(factoextra)

# 1. Ejecutar el Análisis de Correspondencias Múltiples (ACM)
res.mca <- MCA(datos_acm_n,ncp=5, graph = FALSE)

summary(res.mca, nb.dec=3, ncp=2)
## 
## Call:
## MCA(X = datos_acm_n, ncp = 5, graph = FALSE) 
## 
## 
## Eigenvalues
##                       Dim.1  Dim.2  Dim.3  Dim.4  Dim.5
## Variance              0.466  0.361  0.251  0.241  0.133
## % of var.            31.089 24.087 16.709 16.073  8.883
## Cumulative % of var. 31.089 55.177 71.885 87.958 96.842
## 
## Individuals (the 10 first)
##                                             Dim.1   ctr  cos2   Dim.2   ctr
## 1                                         | 0.206 0.027 0.020 | 1.234 1.265
## 2                                         | 0.223 0.032 0.023 | 1.259 1.318
## 3                                         | 0.223 0.032 0.023 | 1.259 1.318
## 4                                         | 0.223 0.032 0.023 | 1.259 1.318
## 5                                         | 0.206 0.027 0.020 | 1.234 1.265
## 6                                         | 0.623 0.250 0.092 | 1.231 1.260
## 7                                         | 0.605 0.236 0.087 | 1.206 1.208
## 8                                         | 0.223 0.032 0.023 | 1.259 1.318
## 9                                         | 0.206 0.027 0.020 | 1.234 1.265
## 10                                        | 0.206 0.027 0.020 | 1.234 1.265
##                                            cos2  
## 1                                         0.719 |
## 2                                         0.746 |
## 3                                         0.746 |
## 4                                         0.746 |
## 5                                         0.719 |
## 6                                         0.359 |
## 7                                         0.345 |
## 8                                         0.746 |
## 9                                         0.719 |
## 10                                        0.719 |
## 
## Categories
##                                               Dim.1     ctr    cos2  v.test  
## Adelie Penguin (Pygoscelis adeliae)       |   0.286   1.929   0.064   4.613 |
## Chinstrap penguin (Pygoscelis antarctica) |   1.369  20.524   0.481  12.638 |
## Gentoo penguin (Pygoscelis papua)         |  -1.134  24.632   0.715 -15.407 |
## Biscoe                                    |  -0.930  22.715   0.830 -16.600 |
## Dream                                     |   1.075  22.874   0.677  14.988 |
## Torgersen                                 |   0.414   1.297   0.028   3.058 |
## FEMALE                                    |   0.024   0.016   0.001   0.441 |
## MALE                                      |  -0.024   0.016   0.001  -0.441 |
## No                                        |   0.976   5.367   0.112   6.094 |
## Yes                                       |  -0.115   0.630   0.112  -6.094 |
##                                             Dim.2     ctr    cos2  v.test  
## Adelie Penguin (Pygoscelis adeliae)         0.923  25.871   0.666  14.868 |
## Chinstrap penguin (Pygoscelis antarctica)  -1.149  18.639   0.339 -10.601 |
## Gentoo penguin (Pygoscelis papua)          -0.477   5.618   0.126  -6.477 |
## Biscoe                                     -0.215   1.563   0.044  -3.833 |
## Dream                                      -0.505   6.515   0.149  -7.040 |
## Torgersen                                   2.066  41.699   0.702  15.263 |
## FEMALE                                      0.031   0.033   0.001   0.560 |
## MALE                                       -0.030   0.032   0.001  -0.560 |
## No                                         -0.060   0.026   0.000  -0.376 |
## Yes                                         0.007   0.003   0.000   0.376 |
## 
## Categorical variables (eta2)
##                                             Dim.1 Dim.2  
## Species                                   | 0.878 0.724 |
## Island                                    | 0.875 0.719 |
## Sex                                       | 0.001 0.001 |
## Clutch Completion                         | 0.112 0.000 |
# 2. Resultados Numéricos: Eigenvalores, % de varianza y varianza acumulada
print("--- EIGENVALORES Y VARIANZA ---")
## [1] "--- EIGENVALORES Y VARIANZA ---"
eig.val <- get_eigenvalue(res.mca)
head(eig.val)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1  0.4663418        31.089453                    31.08945
## Dim.2  0.3613084        24.087227                    55.17668
## Dim.3  0.2506308        16.708720                    71.88540
## Dim.4  0.2410952        16.073016                    87.95842
## Dim.5  0.1332477         8.883177                    96.84159
# 3. Resultado Gráfico: Gráfico de Sedimentación
fviz_screeplot(res.mca, addlabels = TRUE, 
               title = "Gráfico de Sedimentación - Varianza Explicada por Dimensión")

Al evaluar los resultados numéricos y el gráfico de sedimentación, podemos observar la distribución de la inercia (varianza) a lo largo de las nuevas dimensiones calculadas.

Varianza Explicada: La Dimensión 1 es la más importante del modelo, logrando explicar por sí sola el 31.1% de la varianza total. Le sigue la Dimensión 2 con un 24.1%.

Varianza Acumulada: En conjunto, si sumamos estas dos primeras dimensiones, logramos retener aproximadamente el 55.2% de la información estructural de toda la base de datos cualitativa.

Justificación de retención:Para decidir cuántas dimensiones conservar, utilizamos el criterio visual del codo (Elbow method) en el gráfico de sedimentación. En el gráfico se puede observar que después de la segunda dimensión hay una caída más marcada y, a partir de ahí, las siguientes dimensiones aportan muy poco. Por esta razón, se decidió conservar únicamente las primeras 2 dimensiones, ya que son las que contienen la mayor parte de la información relevante y permiten realizar el análisis de las categorías e individuos en un plano de dos dimensiones.

5. Análisis de Variables: Categorías, Contribución y Calidad (\(cos^2\))

En esta sección evaluamos cómo las categorías de nuestras variables (Especie, Isla, Sexo y Nidada) se asocian entre sí y cuáles son las responsables de construir los ejes matemáticos del ACM.

Gráfico de Elipses de Confianza

# 1. Gráfico de Elipses de Confianza
plotellipses(res.mca)

Al analizar el gráfico de las elipses de confianza en nuestras dos primeras dimensiones, podemos ver claramente qué características realmente marcan una diferencia entre los pingüinos y cómo se agrupan en su entorno natural.

¿Qué variables separan mejor a los grupos?

Si nos fijamos en los paneles de la Especie y la Isla, vemos que sus elipses están muy separadas y no se enciman para nada. Esto significa que tienen un alto poder para clasificar los datos, ya que cada especie y cada isla tienen un perfil biológico muy distinto. Por el contrario, si miramos la variable Sexo, las elipses de machos y hembras están prácticamente mezcladas y ancladas en el centro del gráfico (en el origen). Esto nos indica que el sexo del pingüino no influye para nada en la forma en que se agrupan en este modelo.

Asociaciones Biológicas: Lo más interesante ocurre al ver qué categorías caen juntas en los mismos cuadrantes del mapa, revelando dependencias ecológicas muy claras:

Del lado izquierdo del mapa, vemos que la especie Gentoo se asocia de manera casi exclusiva con la isla Biscoe.

Del lado derecho (hacia abajo), notamos que la especie Chinstrap está fuertemente ligada a la isla Dream. Además, en esta misma zona se ubica la respuesta “No” de la variable de nidada completa (Clutch Completion), lo que nos sugiere que los pingüinos de esta especie o de esa isla presentan una mayor tendencia a tener nidadas incompletas frente al resto.

Finalmente, en la parte superior, la especie Adelie domina ese cuadrante y se asocia directamente con la isla Torgersen.

Mapa de Categorías con Calidad de Representación (Cos2)

# 2. Mapa de Categorías con Calidad de Representación (Cos2)
fviz_mca_var(res.mca, 
             col.var = "cos2", 
             gradient.cols = c("blue2", "green", "red"),
             repel = TRUE, 
             ggtheme = theme_minimal()) +
  labs(title = "Nube de Puntos de Categorías (Cos2)")

  • Las estrellas del modelo (Rojos y Naranjas): Categorías como las especies Gentoo y Chinstrap, junto con la isla Biscoe, brillan en tonos rojos intensos, mientras que Adelie, Dream y Torgersen aparecen en naranjas cálidos. Esto indica un \(cos^2\) altísimo (superior a 0.6); es decir, estas dos dimensiones explican casi a la perfección a estos grupos.Estas categorías son las que realmente construyen y estiran nuestro mapa.

  • Las variables menos representativas (Azules y Morados): En contraste absoluto, las etiquetas de sexo (MALE, FEMALE) y las del éxito de la nidada (Yes, No) están teñidas de azul oscuro y morado, amontonadas justo en el centro del gráfico (en las coordenadas 0,0). Su bajo \(cos^2\) (menor a 0.2) nos confirma estadísticamente que este plano bidimensional no captura su variabilidad, demostrando que no son características clave para diferenciar a las poblaciones de pingüinos.

Contribución de las categorías a las Dimensiones 1 y 2

# 3. Contribución de las categorías a las Dimensiones 1 y 2
fviz_contrib(res.mca, choice = "var", axes = c(1,2), repel = TRUE) +
  labs(title = "Contribución de Categorías (Dim 1 y 2)")

Finalmente, la gráfica de barras de contribuciones combinadas nos muestra de forma súper clara qué categorías están construyendo nuestras dos dimensiones principales. La línea roja punteada marca el umbral esperado del 10% (resultado de dividir el 100% entre nuestras 10 categorías totales).

  • Las que dominan el modelo: Todas las categorías correspondientes a la Especie (Chinstrap, Gentoo, Adelie) y a la Isla (Torgersen, Dream, Biscoe) sobrepasan este umbral sin problemas. La especie Chinstrap y la isla Torgersen son las que más “jalan” el modelo, aportando casi un 20% de variabilidad cada una. Esto confirma definitivamente que el origen y la taxonomía son los pilares de nuestro mapa.

  • Las que no aportan: Tal como nos adelantaba el gráfico de colores, las categorías de la Nidada (No, Yes) y las del Sexo (FEMALE, MALE) se quedan muy por debajo del umbral rojo. Su aporte a estos dos ejes es tan bajo (prácticamente nulo en el caso del sexo) que se consideran factores irrelevantes para explicar cómo se estructuran y diferencian los pingüinos en este análisis.

Resultados Numéricos: Top 5 categorías con mayor contribución

# 4. Resultados Numéricos: Top 5 categorías con mayor contribución
print("--- TOP 5 CATEGORÍAS CON MAYOR CONTRIBUCIÓN (DIM 1) ---")
## [1] "--- TOP 5 CATEGORÍAS CON MAYOR CONTRIBUCIÓN (DIM 1) ---"
head(sort(res.mca$var$contrib[, 1], decreasing = TRUE), 5)
##         Gentoo penguin (Pygoscelis papua) 
##                                 24.632481 
##                                     Dream 
##                                 22.873923 
##                                    Biscoe 
##                                 22.715208 
## Chinstrap penguin (Pygoscelis antarctica) 
##                                 20.524307 
##                                        No 
##                                  5.366648
print("--- TOP 5 CATEGORÍAS CON MAYOR CONTRIBUCIÓN (DIM 2) ---")
## [1] "--- TOP 5 CATEGORÍAS CON MAYOR CONTRIBUCIÓN (DIM 2) ---"
head(sort(res.mca$var$contrib[, 2], decreasing = TRUE), 5)
##                                 Torgersen 
##                                 41.699222 
##       Adelie Penguin (Pygoscelis adeliae) 
##                                 25.870679 
## Chinstrap penguin (Pygoscelis antarctica) 
##                                 18.639063 
##                                     Dream 
##                                  6.514537 
##         Gentoo penguin (Pygoscelis papua) 
##                                  5.618322

Al revisar las salidas exactas de la consola para el Top 5 de contribuciones, podemos definir con precisión matemática qué categorías construyen cada eje, recordando que nuestro umbral de contribución equitativa es del 10%:

Dimensión 1 (El eje principal): Está definida casi por completo por el contraste entre dos especies y sus respectivos hábitats. Por un lado, tenemos a la especie Gentoo (aportando un \(24.63%\)) y la isla Biscoe (\(22.71%\)); por el otro, la especie Chinstrap (20.52%) y la isla Dream (\(22.87%\)). Estas cuatro categorías superan ampliamente el umbral del \(10%\) y juntas dominan este eje. Aunque la respuesta “No” de la nidada logra colarse al Top 5, lo hace con un discreto 5.36%, confirmando que su impacto no es estadísticamente significativo.

Dimensión 2 (El eje secundario): Este eje tiene un protagonista absoluto: la isla Torgersen, que por sí sola jala un masivo \(41.69%\) de la varianza. Le acompañan para definir esta dimensión la especie Adelie con un \(25.87%\) y, en menor medida, la especie Chinstrap con un \(18.63%\).Las siguientes categorías de la lista (Dream y Gentoo) caen muy por debajo del umbral, por lo que su aporte a este eje es descartable.

6. Análisis de Individuos: Agrupaciones y Observaciones Atípicas

En esta etapa proyectamos a las unidades de observación (los pingüinos individuales) sobre el plano bidimensional para identificar patrones ecológicos, agrupaciones naturales y especímenes atípicos en la muestra.

Mapa de Individuos (Pingüinos)

#1. Mapa de Individuos (Pingüinos)
# Nota: Apagamos las etiquetas (label = "none") porque 333 nombres saturarían la gráfica.
fviz_mca_ind(res.mca, 
             label = "none", 
             alpha.ind = 0.7, 
             ggtheme = theme_minimal()) +
  labs(title = "Nube de Puntos de Individuos (Pingüinos)")

fviz_mca_ind(res.mca,
             label = "none",
             habillage = "Species",
             addEllipses = TRUE,
             alpha.ind = 0.7,
             ggtheme = theme_minimal()) +
  labs(title = "Nube de Puntos de Individuos (Pingüinos)")

fviz_mca_ind(res.mca,
             label = "none",
             habillage = "Island",
             addEllipses = TRUE,
             alpha.ind = 0.7,
             ggtheme = theme_minimal()) +
  labs(title = "Nube de Puntos de Individuos (Pingüinos)")

Al proyectar los 333 pingüinos de la muestra, podemos observar cómo se distribuyen los individuos de acuerdo con las características incluidas en el análisis. Los puntos no se encuentran distribuidos completamente al azar, sino que se forman algunos grupos que muestran similitudes entre los pingüinos.

  • Gentoo en Biscoe: En la parte izquierda de la gráfica se concentran principalmente los individuos de la especie Gentoo, relacionados con la isla Biscoe. Esto indica que estos individuos presentan características que los diferencian de los otros grupos.

  • Chinstrap en Dream: En la parte derecha se observa principalmente a los pingüinos Chinstrap de la isla Dream. La distancia con respecto al grupo anterior muestra que existen diferencias entre las características de estas poblaciones.

  • Adelie: Los individuos de la especie Adelie se encuentran principalmente en otra zona del gráfico, lo que refleja que tienen un perfil diferente al de las otras especies. Su posición también está relacionada con su distribución en las islas.

  • Superposición de puntos: Aunque se analizaron 333 pingüinos, algunos puntos pueden aparecer sobrepuestos. Esto sucede porque varios individuos pueden tener las mismas categorías en las variables analizadas y, por lo tanto, ocupar una posición muy similar o incluso igual en el gráfico.

En general, el mapa de individuos permite observar que la especie y la isla tienen una relación importante con la forma en que se agrupan los pingüinos, ya que los individuos con características similares tienden a ubicarse en zonas cercanas del gráfico.

Contribución de los Individuos a las Dimensiones 1 y 2

# 2. Contribución de los Individuos a las Dimensiones 1 y 2
# Solo mostramos el top 20 para no saturar la gráfica de barras
fviz_contrib(res.mca, choice = "ind", axes = c(1,2), top = 20) +
  labs(title = "Top 20 Pingüinos con Mayor Contribución (Dim 1 y 2)")

Al analizar la gráfica de las mayores contribuciones individuales (Top 20) en las dos dimensiones principales, podemos identificar qué pingüinos tienen una mayor influencia en la construcción del mapa del ACM.

Contribuciones individuales: La línea roja punteada representa la contribución promedio esperada de un individuo. Los pingüinos que se encuentran por encima de esta línea tienen una participación mayor a la esperada en la formación de las dimensiones. Por lo tanto, los individuos que aparecen en el Top 20 son los que tienen perfiles que los diferencian más del resto de la muestra.

Individuos con contribuciones similares: Se pueden observar algunos grupos de barras con alturas muy parecidas. Esto indica que ciertos individuos tienen una contribución similar a las dimensiones, posiblemente porque comparten las mismas o similares categorías en las variables consideradas en el análisis.

Individuos más representativos: Los IDs que aparecen en los primeros lugares, como el 266, 283, 288 o 290, son algunos de los individuos que más contribuyen a la formación de las dimensiones. Esto significa que sus características tienen una mayor influencia en la posición y orientación del mapa.

En general, esta gráfica permite identificar cuáles son los individuos que tienen mayor peso dentro del análisis. Sin embargo, para conocer exactamente qué especie, isla u otras características corresponden a estos individuos, es necesario consultar sus registros en la base de datos y relacionar sus IDs con las categorías correspondientes.

Calidad de Representación (Cos2) del top 20 de individuos

# 3. Calidad de Representación (Cos2) del top 20 de individuos
fviz_cos2(res.mca, choice = "ind", axes = c(1,2), top = 20) +
  labs(title = "Top 20 Pingüinos con Mejor Calidad de Representación (Cos2)")

Esta gráfica nos permite evaluar qué tan bien están representados los individuos en las dos dimensiones principales del ACM y determinar qué tan confiable es su posición dentro del mapa.

  • Alta calidad de representación: Las barras correspondientes a los 20 individuos con mayor cos², como los pingüinos 11, 12, 14 y 65, presentan valores altos, cercanos a 0.8. Esto indica que estos individuos están muy bien representados en las dos dimensiones principales. Por lo tanto, su posición dentro del mapa puede interpretarse con mayor confianza.

  • Individuos con calidad similar: También se observa que varias barras presentan alturas iguales o muy parecidas. Esto significa que estos individuos tienen una calidad de representación similar en el plano. Esto puede estar relacionado con que comparten perfiles categóricos parecidos en las variables utilizadas en el análisis.

  • ¿Qué nos indica esto? Los valores altos de cos² muestran que, para estos individuos, las dos dimensiones seleccionadas representan una parte importante de la información necesaria para interpretar su posición en el mapa. Por el contrario, los individuos con valores bajos de cos² estarían representados de manera menos adecuada en este plano y deberían interpretarse con mayor precaución.

En conclusión, esta gráfica nos ayuda a identificar cuáles son los individuos que están mejor representados en las dos dimensiones principales. Por lo tanto, los pingüinos con valores altos de cos² son los que podemos utilizar con mayor confianza para interpretar las agrupaciones y diferencias que observamos en el mapa del ACM.

Resultados Numéricos: Top 5 pingüinos más extremos (Dim 1 y Dim 2)

# 4. Resultados Numéricos: Top 5 pingüinos más extremos (Dim 1 y Dim 2)
print("--- TOP 5 PINGÜINOS ATÍPICOS (MAYOR CONTRIBUCIÓN DIM 1) ---")
## [1] "--- TOP 5 PINGÜINOS ATÍPICOS (MAYOR CONTRIBUCIÓN DIM 1) ---"
head(sort(res.mca$ind$contrib[, 1], decreasing = TRUE), 5)
##      266      283      288      290      292 
## 1.023876 1.023876 1.023876 1.023876 1.023876
print("--- TOP 5 PINGÜINOS ATÍPICOS (MAYOR CONTRIBUCIÓN DIM 2) ---")
## [1] "--- TOP 5 PINGÜINOS ATÍPICOS (MAYOR CONTRIBUCIÓN DIM 2) ---"
head(sort(res.mca$ind$contrib[, 2], decreasing = TRUE), 5)
##        2        8       11       12       14 
## 1.318151 1.318151 1.318151 1.318151 1.318151

Los resultados obtenidos nos permiten identificar qué individuos tienen una mayor influencia en la construcción de cada una de las dimensiones principales del ACM.

  • Primer grupo – Dimensión 1: Los pingüinos 266, 283, 288, 290 y 292 se encuentran entre los individuos que más contribuyen a la Dimensión 1, con una contribución aproximada de 1.02% cada uno. El hecho de que presenten valores iguales indica que tienen una participación similar en la formación de esta dimensión. Esto puede deberse a que comparten determinadas categorías dentro de las variables analizadas.

  • Segundo grupo – Dimensión 2: En la Dimensión 2 ocurre algo similar con los pingüinos 2, 8, 11, 12 y 14, que presentan una contribución aproximada de 1.31%. Estos individuos tienen una influencia importante y similar en la construcción de esta dimensión. ¿Qué significa en los datos? La presencia de individuos con contribuciones iguales o muy similares indica que existen perfiles categóricos que se repiten dentro de la muestra. Esto significa que algunos pingüinos comparten combinaciones de características que hacen que tengan una participación parecida en la formación de las dimensiones.

En general, estos resultados muestran que la formación de las dos dimensiones no depende de un solo individuo, sino de varios pingüinos que presentan perfiles similares. Para determinar exactamente qué características comparten los individuos de cada grupo, es necesario revisar sus categorías de especie, isla, sexo y demás variables incluidas en el ACM.

7. Integración de Resultados y Conclusiones Finales

Para cerrar este análisis, se integraron los resultados obtenidos en los mapas y en los porcentajes de contribución para responder a la pregunta central: ¿Qué características permiten separar y agrupar a los pingüinos del conjunto de datos?

De forma clara, el análisis permitió identificar tres aspectos principales:

  • La especie y la isla son las características que más diferencian a los pingüinos: Las gráficas muestran que estas variables tienen una participación importante en la formación de las dimensiones principales. Esto indica que existe una relación entre la especie, la isla y la manera en que se agrupan los individuos dentro del análisis.

  • El sexo tiene una participación menor: En comparación con otras variables, el sexo presenta una menor contribución en la formación de las dimensiones. Esto sugiere que, dentro de este análisis, ser macho o hembra no es una de las principales características que explica la separación de los individuos.

  • Se forman grupos de individuos con perfiles similares: Al observar a los pingüinos de manera individual, se pueden identificar grupos de puntos cercanos entre sí. Esto indica que existen individuos que comparten combinaciones de categorías similares. Por ejemplo, los pingüinos de una misma especie e isla pueden presentar perfiles categóricos parecidos, por lo que aparecen agrupados en zonas cercanas del mapa. La superposición de algunos puntos también puede deberse a que diferentes individuos comparten las mismas categorías en las variables analizadas.

En resumen el análisis muestra que la distribución de los pingüinos no es completamente aleatoria. La especie y la isla destacan como características importantes para explicar la formación de los grupos, mientras que el sexo presenta una participación menor. Por lo tanto, el ACM permite observar que los individuos tienden a agruparse de acuerdo con determinadas características categóricas que comparten, facilitando la identificación de patrones y diferencias dentro de la población analizada.