---
title: "Tarea 5: Clustering y PCA"
subtitle: "IA para Científicos Sociales - UCU"
author: "Danilo Freire"
date: "2026-04-22"
format:
  html:
    toc: true
    toc-depth: 2
    number-sections: true
    code-fold: false
lang: es
engine: knitr
---

## Instrucciones

Esta tarea usa un dataset [nuevo]{.alert}, distinto del que vimos en el Laboratorio 5: `indicadores_mundo.csv`, con 24 países de todas las regiones del mundo y 8 indicadores socioeconómicos. Las técnicas son las mismas del laboratorio (K-means, clustering jerárquico y PCA), pero los datos son otros, así que las respuestas también lo serán. Respondan cada pregunta escribiendo código R en los bloques indicados. Cuando se pida una respuesta escrita, usen texto normal debajo del bloque de código.

**Para trabajar en esta tarea:**

1. Descarguen este archivo `.qmd` y el dataset `indicadores_mundo.csv` de la [página del curso](https://danilofreire.github.io/introduccion-ia-ucu/laboratorios.html), o clonen el repositorio completo con `git clone https://github.com/danilofreire/introduccion-ia-ucu.git`. Mantengan el CSV en una subcarpeta `datos/` junto al `.qmd`
2. Necesitan [Quarto](https://quarto.org/docs/get-started/) instalado junto con RStudio. Las versiones recientes de RStudio (>= 2022.07) ya incluyen Quarto
3. Abran este archivo `.qmd` en RStudio y ejecuten los bloques de código con Ctrl+Enter (o Cmd+Enter en Mac)
4. Cuando terminen, pueden renderizar el documento completo con el botón "Render" en RStudio

### Configuración

```{r setup, message=FALSE, warning=FALSE}
library(tidyverse)
library(cluster)
library(factoextra)
library(corrplot)

set.seed(2026)

mundo <- read_csv("datos/indicadores_mundo.csv", show_col_types = FALSE)
```

A diferencia del dataset del laboratorio, este tiene una columna de texto extra: `region`. Ténganla presente, porque va a aparecer varias veces en la tarea.

## Exploración

### Pregunta 1: Indicadores por región

Calculen la [mediana]{.alert} del PIB per cápita, la esperanza de vida y la mortalidad infantil para cada región. Ordenen el resultado por PIB per cápita. ¿Qué región está mejor en los tres indicadores? ¿Alguna región está bien en un indicador pero mal en otro?

*Pista:* `group_by()` + `summarise()`. Ojo: algunas regiones tienen un solo país.

```{r p1}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 2: ¿El PIB lo explica todo?

Identifiquen los 5 países con [mayor PIB per cápita]{.alert} y los 5 con [menor mortalidad infantil]{.alert}. ¿Son los mismos? Busquen al menos un país que esté entre los más ricos pero no entre los de menor mortalidad (o al revés). ¿Qué sugiere eso sobre la relación entre ingreso y salud?

```{r p2}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 3: Correlaciones

Calculen la matriz de correlaciones de las variables numéricas y visualícenla con `corrplot()`. ¿Cuál par de variables tiene la correlación positiva más fuerte? ¿Cuál tiene la negativa más fuerte? Hagan además un scatterplot de PIB per cápita contra esperanza de vida: ¿la relación parece lineal o se "aplana" en los países ricos?

*Pista:* para la matriz hay que quedarse solo con las columnas numéricas (`select()` ayuda a sacar `pais` y `region`).

```{r p3}
# Escriban su código aquí

```

**Respuesta:**

## K-means

### Pregunta 4: Elegir K con codo y silueta

Preparen los datos: saquen la columna `region`, muevan `pais` a los nombres de fila y escalen con `scale()`. Después calculen, para K=2 a K=6, la suma de cuadrados intra-cluster (WSS) y la silueta promedio. Muestren las dos curvas. ¿Qué K elegirían y por qué? Si el codo y la silueta no coinciden exactamente, expliquen cómo deciden.

*Pista:* el laboratorio tiene el patrón para las dos curvas; acá la diferencia está en justificar la decisión cuando los criterios no gritan un único ganador.

```{r p4}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 5: ¿Geografía o nivel de ingreso?

Ajusten K-means con [K=3]{.alert} y `nstart = 25` (aunque en la pregunta anterior hayan preferido otro K; así todos seguimos comparables). Crucen el cluster de cada país con su `region` usando `table()`. ¿Los clusters agrupan países de la misma región, o agrupan países de distinto continente pero nivel de desarrollo parecido? Den dos ejemplos concretos.

```{r p5}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 6: Perfil de los clusters

Para la solución K=3, calculen la media de PIB per cápita, esperanza de vida, mortalidad infantil e índice de democracia dentro de cada cluster (con los datos originales, no los escalados). Asignen una etiqueta sustantiva a cada cluster.

```{r p6}
# Escriban su código aquí

```

**Respuesta:**

## Clustering jerárquico

### Pregunta 7: Dendrograma con Ward

Ajusten un clustering jerárquico con `method = "ward.D2"` y visualicen el dendrograma. Mirando la altura de las uniones: ¿cuáles son los dos grandes bloques que se unen al final? ¿Qué país parece más "solitario" (se une a su grupo más tarde que el resto)?

```{r p7}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 8: ¿K-means y jerárquico cuentan la misma historia?

Corten el dendrograma en 3 grupos con `cutree()` y comparen con los clusters de K-means de la pregunta 5 usando `table()`. ¿Cuántos países cambian de grupo entre los dos métodos? ¿Cuáles? ¿Les preocupa esa diferencia?

```{r p8}
# Escriban su código aquí

```

**Respuesta:**

## PCA

### Pregunta 9: ¿Cuántos componentes necesitamos?

Ajusten `prcomp()` sobre los datos escalados y miren la varianza explicada. ¿Cuánta varianza captura PC1 solo? ¿Cuántos componentes hacen falta para superar el [80%]{.alert} de la varianza acumulada?

```{r p9}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 10: Interpretar PC1 y PC2

Vean los loadings de los dos primeros componentes (`pca$rotation[, 1:2]`). ¿Qué variables dominan PC1 y con qué signos? ¿Y PC2? Propongan un nombre sustantivo para cada componente (por ejemplo, "desarrollo", "desigualdad", "apertura"). Justifiquen con los loadings.

```{r p10}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 11: Países extremos

Ordenen los países por su valor en PC1 y luego por PC2. ¿Qué países están en los extremos de cada componente? ¿Los extremos de PC2 confirman la interpretación que propusieron en la pregunta 10?

```{r p11}
# Escriban su código aquí

```

**Respuesta:**

## Síntesis

### Pregunta 12: ¿Qué pasa si no escalamos?

Repitan K-means con K=3 pero sobre los datos [sin escalar]{.alert} (solo saquen `region` y muevan `pais` a rownames). Comparen los clusters con los de la pregunta 5. ¿Qué variable domina ahora la solución? Busquen un país que quede agrupado con países muy distintos en democracia o desigualdad, y expliquen por qué terminó ahí.

*Pista:* miren las unidades de cada variable. ¿Cuál tiene la varianza más grande, por lejos, cuando no escalamos?

```{r p12}
# Escriban su código aquí

```

**Respuesta:**

### Pregunta 13: Reflexión

Basándose en los resultados de esta tarea, respondan:

1. Si tuvieran que explicarle los resultados a un periodista con una sola visualización, ¿usarían el dendrograma, el gráfico de clusters o el biplot del PCA? ¿Por qué?
2. Los clusters agrupan países por promedios nacionales. Nombren al menos una limitación de usar indicadores a nivel de país para hablar de desarrollo (piensen en la desigualdad interna)
3. ¿Qué indicador agregarían al dataset para distinguir mejor a los países de ingreso medio entre sí? Justifiquen

**Respuesta:**
