library(dplyr) # Para trabajar con los datos
library(ggplot2) # Para crear gráficosAsociación, covarianza y correlación
Sesión del miércoles, 23 de septiembre de 2026
1 Asociación entre dos variables
Hasta ahora hemos trabajado principalmente con diferencias entre grupos. Ahora cambia la pregunta: en vez de comparar dos grupos, queremos saber si los valores de dos variables tienden a presentar algún patrón conjunto.
Trabajaremos con datos reales de la Encuesta CASEN 2024. Como la encuesta contiene muchas observaciones, prepararemos una submuestra aleatoria reproducible para que sea más fáciles de leer. Esa misma submuestra se utilizará durante todo el práctico.
Nuestra pregunta principal será:
¿En qué medida los años de escolaridad y el ingreso de la ocupación principal se encuentran asociados?
| Variable | Qué representa |
|---|---|
escolaridad |
Años de escolaridad |
ingreso_laboral |
Ingreso de la ocupación principal, en pesos |
horas_trabajo |
Horas trabajadas habitualmente por semana en la actividad principal |
Primero miramos el patrón entre las variables y después lo resumimos con una medida de asociación.
\[ \text{Mirar} \rightarrow \text{anticipar} \rightarrow \text{calcular} \rightarrow \text{volver a mirar} \]
Preparemos los datos
Trabajaremos con la base oficial de CASEN 2024. R puede cargarla directamente desde el sitio del Ministerio de Desarrollo Social y Familia, por lo que no necesitamos descargar el archivo manualmente.
Primero cargamos solamente los dos paquetes que utilizaremos durante el práctico:
La dirección del archivo oficial se asigna en el objeto url_casen. Luego load() abre la base directamente desde Internet. Podemos leer <- como “guardar como”.
url_casen <- "https://bid-ckan.ministeriodesarrollosocial.gob.cl/dataset/105286d9-10a8-410a-b060-a335f3168a46/resource/cacc6ad5-fca1-4476-82f1-b7ea119fae98/download/casen_2024.rdata" # Dirección oficial de CASEN 2024
load(
url(url_casen) # Carga la base directamente desde Internet
)El archivo crea en R un objeto llamado casen_2024, que contiene la base original. Para este práctico solo necesitamos tres variables y trabajaremos con una submuestra de 1.000 personas.
set.seed(2026) # Hace que todas y todos obtengamos los mismos casos
datos <- casen_2024 |> # Partimos desde la base oficial
transmute( # Conservamos y renombramos tres variables
escolaridad = haven::zap_labels(esc), # Años de escolaridad
horas_trabajo = na_if(haven::zap_labels(o10), -88), # Horas semanales; -88 significa "No sabe"
ingreso_laboral = haven::zap_labels(yoprcor) # Ingreso de la ocupación principal
) |>
na.omit() |> # Conservamos casos con información completa
slice_sample(n = 1000) # Seleccionamos 1.000 personas al azarEl símbolo
|>puede leerse como “y luego”: toma el resultado del paso anterior y lo utiliza en el siguiente. Algunas variables de CASEN tienen etiquetas;haven::zap_labels()las retira para trabajar directamente con sus valores numéricos.set.seed(2026)hace que R repita la misma selección aleatoria cada vez. A partir de aquí, todo el práctico utiliza el objetodatosy las mismas 1.000 personas.
2 Observemos la asociación
2.1 La nube de puntos
Una nube de puntos o scatterplot representa conjuntamente dos variables cuantitativas. Cada punto corresponde a una persona: su posición horizontal indica sus años de escolaridad y su posición vertical indica el ingreso de su ocupación principal.
ggplot(datos, aes( # Usamos nuestra submuestra
x = escolaridad, # Eje X: años de escolaridad
y = ingreso_laboral # Eje Y: ingreso laboral
)) +
geom_point() # Cada punto representa una personaA medida que aumenta la escolaridad, ¿el ingreso parece tender a valores más altos o más bajos?
¿La nube parece seguir una tendencia aproximadamente recta o presenta una forma claramente curva?
¿Hay algún caso que llame especialmente la atención?
Estas tres preguntas cumplen funciones distintas. La primera nos ayuda a pensar en la dirección de la asociación; la segunda, en su forma; y la tercera nos recuerda que algunos casos pueden alejarse bastante del patrón general.
Los datos reales no forman una línea perfecta. Justamente por eso conviene observar primero la nube completa antes de resumirla mediante un único número.
3 Del gráfico a la covarianza
3.1 De la posición de cada persona al patrón del conjunto
En el gráfico vimos a todas las personas al mismo tiempo. Ahora queremos entender cómo podemos pasar desde la posición de cada persona a un resumen del patrón que aparece en el conjunto.
En R, $ permite elegir una variable dentro de una base. Por ejemplo, datos$escolaridad significa “la variable escolaridad que está dentro de la base datos”.
mean(datos$escolaridad) # Promedio de escolaridad
mean(datos$ingreso_laboral) # Promedio de ingresoEn nuestra submuestra, la escolaridad promedio es aproximadamente 12,8 años y el ingreso promedio es aproximadamente $749.203. Empecemos con una sola variable: la escolaridad.
Pensemos primero en una persona con 15 años de escolaridad. Para saber dónde se encuentra respecto del promedio, restamos su valor menos la media:
15 − 12,8 = +2,2
El resultado +2,2 significa que esta persona se encuentra aproximadamente 2,2 años sobre el promedio de escolaridad de nuestra muestra.
Ahora pensemos en una persona con 10 años de escolaridad:
10 − 12,8 = -2,8
El signo negativo indica que esta persona se encuentra aproximadamente 2,8 años bajo el promedio.
En general, escribimos esta diferencia como:
\[ x_i-\bar{x} \]
que puede leerse como:
\[ \text{valor de una persona} - \text{promedio de la variable} \]
Aquí usamos desviación para referirnos a esta diferencia entre el valor de una persona y la media. No es lo mismo que la desviación estándar, que resume la dispersión de todos los casos.
3.2 El producto de las desviaciones
Para trabajar con dos variables necesitamos hacer lo mismo con ambas. En nuestra submuestra:
- la escolaridad promedio es 12,8 años;
- el ingreso laboral promedio es $749.203.
Una misma persona ocupa, entonces, dos posiciones: una respecto del promedio de escolaridad y otra respecto del promedio de ingreso.
Si una persona está sobre ambos promedios, sus dos desviaciones son positivas:
\[ (+)(+)=+ \]
El producto es positivo porque ambas variables ubican a esa persona del mismo lado de sus respectivas medias.
Si una persona está bajo ambos promedios, sus dos desviaciones son negativas:
\[ (-)(-)=+ \]
El producto vuelve a ser positivo: otra vez ambas variables están del mismo lado de sus medias.
En cambio, si una persona está sobre el promedio en una variable y bajo el promedio en la otra:
\[ (+)(-)=- \]
el producto es negativo, porque las dos variables ubican al caso en lados opuestos de sus medias.
Porque el producto nos entrega una forma compacta de registrar, para cada persona, si las dos variables se encuentran del mismo lado de sus medias o en lados opuestos. Además, una persona muy alejada de ambas medias aporta un producto de mayor magnitud que una persona ubicada muy cerca de los promedios.
Los casos anteriores pueden resumirse así:
| Escolaridad respecto de su media | Ingreso respecto de su media | Producto |
|---|---|---|
| Sobre | Sobre | Positivo |
| Bajo | Bajo | Positivo |
| Sobre | Bajo | Negativo |
| Bajo | Sobre | Negativo |
Veamos ahora cuatro casos reales de la misma submuestra de CASEN. Cada fila representa una de esas cuatro combinaciones:
| Caso | Escolaridad | Desv. escolaridad | Ingreso | Desv. ingreso | Producto |
|---|---|---|---|---|---|
| Caso A | 17 | +4,2 | $1.100.000 | +350.797 | +1.480.364 |
| Caso B | 12 | -0,8 | $300.000 | -449.203 | +350.378 |
| Caso C | 15 | +2,2 | $500.000 | -249.203 | -553.231 |
| Caso D | 12 | -0,8 | $1.000.000 | +250.797 | -195.622 |
Miren el caso A. ¿Está sobre o bajo el promedio en escolaridad? ¿Y respecto del ingreso?
Entonces, ¿por qué su producto es positivo?
Ahora generalicen:
¿Qué tienen en común los casos con producto positivo? ¿Y qué ocurre en los casos con producto negativo?
Cada persona de la muestra aporta un producto como estos. Algunos serán positivos y otros negativos. Pero nuestra pregunta no se refiere a una sola persona: queremos describir el patrón de toda la muestra.
¿Cómo podemos reunir todos esos aportes en un único número?
3.3 Covarianza
La covarianza combina los productos de desviaciones de todas las personas para resumir hacia qué lado queda el balance general.
Después de entender la idea, podemos representar ese procedimiento mediante la fórmula:
\[ \operatorname{cov}(X,Y) = \frac{ \sum_{i=1}^{n} (x_i-\bar{x})(y_i-\bar{y}) }{n-1} \]
Podemos leerla paso a paso:
- \((x_i-\bar{x})(y_i-\bar{y})\) es el aporte de una persona;
- \(\sum\) indica que reunimos los aportes de todas las personas;
- \(n-1\) aparece en el denominador porque estamos calculando la covarianza a partir de una muestra.
Si el balance de los productos queda del lado positivo, la covarianza será positiva.
Si el balance queda del lado negativo, la covarianza será negativa.
Considerando la nube de puntos y los casos anteriores, ¿qué signo esperarían para la covarianza: positivo o negativo?
La función cov() necesita las dos variables cuya covarianza queremos calcular:
cov(
datos$escolaridad, # Años de escolaridad
datos$ingreso_laboral # Ingreso laboral
)La covarianza obtenida es aproximadamente 1.130.120.
Lo primero que podemos interpretar con facilidad es el signo. En nuestra submuestra, el balance general es positivo. Esto indica que los casos con escolaridad relativamente alta tienden a encontrarse acompañados por ingresos relativamente altos, y los casos con escolaridad relativamente baja por ingresos relativamente bajos.
El número completo, en cambio, es difícil de interpretar directamente. No tenemos una escala fija que nos diga si 1.130.120 representa por sí solo una asociación poco o muy marcada.
La covarianza nos ayuda a identificar la dirección del patrón, pero su magnitud depende de las unidades utilizadas. Necesitamos entonces una medida que conserve la información sobre el patrón conjunto y coloque el resultado en una escala común.
Esa medida es la correlación de Pearson.
4 De la covarianza a Pearson
4.1 Correlación de Pearson
En este contexto, estandarizar significa llevar las variaciones a una escala común para que el resultado no dependa de las unidades originales. Queremos una medida que describa el patrón lineal sin cambiar su valor debido a unidad de medida.
Pearson realiza esa estandarización dividiendo la covarianza por las desviaciones estándar de las dos variables:
\[ r= \frac{ \operatorname{cov}(X,Y) }{ s_Xs_Y } \]
Las desviaciones estándar conservan las mismas unidades que las variables originales. Por eso, al dividir, las unidades se cancelan. En nuestro ejemplo:
\[ \frac{ \text{años}\times\text{pesos} }{ \text{años}\times\text{pesos} } = \text{sin unidades} \]
El resultado queda además en una escala fija:
\[ -1\leq r\leq1 \]
La función cor() calcula la correlación de Pearson entre dos variables cuantitativas:
cor(
datos$escolaridad, # Escolaridad
datos$ingreso_laboral # Ingreso en pesos
)[1] 0.4244602
Pearson produce un coeficiente comparable que no depende de si expresamos el ingreso en pesos o en miles de pesos. Es estandarizar.
4.2 Cómo interpretar \(r\)
Para interpretar Pearson necesitamos responder dos preguntas diferentes.
1. ¿En qué dirección aparece el patrón?
El signo de \(r\) indica la dirección:
\[ r>0 \rightarrow \text{asociación directa} \]
\[ r<0 \rightarrow \text{asociación inversa} \]
2. ¿Qué tan marcado es el patrón lineal?
Observamos el valor absoluto:
\[ |r| \]
Un patrón lineal es aquel cuya tendencia general puede resumirse razonablemente mediante una dirección aproximadamente recta. Esto no significa que todos los puntos deban encontrarse exactamente sobre una línea.
Cuanto más cerca de \(1\) se encuentra \(|r|\), más marcado es ese patrón lineal; cuanto más cerca de \(0\), menos marcado es.
En esta submuestra de CASEN 2024, la correlación entre escolaridad e ingreso de la ocupación principal es \(r=\) 0,42 y su dirección es positiva. En términos sustantivos, las personas con mayor escolaridad tienden a presentar ingresos más altos.
El valor de \(r\) indica qué tan marcado es ese patrón lineal en los casos analizados, pero sigue existiendo variabilidad entre las personas.
Esta asociación no demuestra por sí sola que una variable cause la otra.
Signo \(\rightarrow\) dirección de la asociación.
\(|r|\) \(\rightarrow\) qué tan marcado es el patrón lineal.
5 Por qué debemos mirar el gráfico
5.1 Limitaciones de Pearson
Para aislar algunas limitaciones de Pearson utilizaremos ahora ejemplos didácticos construidos específicamente para mostrar cada situación. La rutina será la misma: mirar → anticipar → calcular → volver a mirar.
1. Una relación no lineal
Aquí existe un patrón claro entre \(X\) e \(Y\), pero su forma es curva:
Si existe un patrón evidente, ¿qué esperan que ocurra con Pearson cuando ese patrón no es lineal?
cor(datos_no_lineales$x, datos_no_lineales$y) # Calcula Pearson: resume solamente la asociación lineal[1] 0.0000000000000001633663
El valor es aproximadamente 0. Esto no significa que las variables carezcan de relación: significa que no presentan una asociación lineal marcada.
2. Un valor extremo
Comparemos un patrón lineal claro con el mismo conjunto después de agregar una sola observación extrema:
| Escenario | r |
|---|---|
| Sin caso extremo | 0.999 |
| Con caso extremo | 0.336 |
¿Cambió el patrón de la mayoría de los puntos? ¿Qué ocurrió con \(r\) al agregar una sola observación?
Pearson puede ser sensible a valores extremos. Por eso, incluso después de calcular \(r\), necesitamos volver al gráfico.
3. Un mismo \(r\), patrones distintos
El cuarteto de Anscombe contiene cuatro conjuntos con resúmenes numéricos muy parecidos, incluida una correlación prácticamente igual, pero con formas gráficas muy distintas:
| Conjunto | r |
|---|---|
| 1 | 0.816 |
| 2 | 0.816 |
| 3 | 0.816 |
| 4 | 0.817 |
¿Qué perderíamos si observáramos solamente los coeficientes y no los gráficos?
Un coeficiente resume los datos, pero no reemplaza mirar los datos.
4. Correlación no implica causalidad
Hasta ahora hemos usado la correlación de Pearson para describir cómo se relacionan dos variables. Sin embargo, encontrar una correlación no significa que una variable sea la causa de la otra.
Una asociación puede aparecer porque existe una tercera variable relacionada con ambas.
Por ejemplo, imaginemos que observamos una asociación positiva entre:
- el tamaño del calzado de niños y niñas;
- su capacidad de lectura.
Esto no significa que tener pies más grandes mejore la lectura. Ambas variables cambian con una tercera variable: la edad.
\[ \text{Edad} \longrightarrow \begin{cases} \text{Tamaño del calzado} \\ \text{Capacidad de lectura} \end{cases} \]
En este tipo de situaciones podemos observar una correlación espuria: existe una asociación entre dos variables, pero esa asociación puede explicarse por la influencia de otra variable.
La correlación de Pearson nos dice en qué dirección y qué tan marcado es el patrón lineal entre dos variables.
Por sí sola, no permite concluir que una variable cause cambios en la otra.
6 Ahora ustedes
Ahora analizarán una pregunta nueva utilizando exactamente la misma submuestra de 1.000 casos de CASEN 2024:
¿En qué medida las horas trabajadas habitualmente por semana y el ingreso de la ocupación principal se encuentran asociados?
Esta vez deberán recorrer la secuencia con mayor autonomía.
1. Observen
Construyan la nube de puntos completando solamente las variables:
ggplot(datos, aes( # Usen la misma submuestra
x = __________, # Completen la variable del eje X
y = __________ # Completen la variable del eje Y
)) +
geom_point() # Cada punto representa una persona¿A medida que aumentan las horas de trabajo, el ingreso parece tender a valores más altos o más bajos?
2. Evalúen la forma
¿El patrón parece aproximadamente lineal o presenta otra forma clara?
3. Anticipen
¿Qué signo esperan obtener para \(r\)?
4. Calculen
cor(
datos$__________, # Completen la primera variable
datos$__________ # Completen la segunda variable
)5. Interpreten
En una conclusión breve respondan:
- ¿qué les dice el signo de \(r\)?;
- ¿qué les dice su magnitud sobre el patrón lineal?;
- ¿cómo expresarían sustantivamente la asociación entre horas habituales de trabajo e ingreso?
6. Vuelvan al gráfico
¿El coeficiente representa razonablemente el patrón observado en el scatterplot? Justifiquen brevemente.
7 Para cerrar
La secuencia utilizada durante el práctico puede resumirse así:
| Paso | Pregunta |
|---|---|
| Pregunta | ¿Qué dos variables queremos relacionar? |
| Gráfico | ¿Qué patrón observamos? |
| Posición | ¿Cómo se ubican los casos respecto de las medias? |
| Covarianza | ¿Qué signo presenta el balance de los productos? |
| Pearson | ¿Qué valor toma \(r\) y qué nos dice? |
| Evaluación | ¿El coeficiente representa bien lo que vemos? |
La correlación resume un patrón lineal. No reemplaza mirar los datos.