En esta clase se desarrollan dos bloques temáticos centrales del análisis de datos categóricos:
El desarrollo se realiza en R, con un ejemplo aplicado al mercado laboral.
Al finalizar la clase, serás capaz de:
Nota: Si el paquete no se encuentra instalado en el equipo, deberá instalarse previamente.
install.packages("knitr")
library(knitr)
Una tabla de contingencia o tabla de doble entrada es una tabla de dimensión \(k \times p\) que contiene el número de veces que se observa cada combinación de categorías de dos variables \(X\) e \(Y\).
De manera general, una tabla de contingencia puede representarse como:
\[ \begin{array}{c|cccc|c} X \backslash Y & y_1 & y_2 & \cdots & y_p & \text{Total} \\ \hline x_1 & n_{11} & n_{12} & \cdots & n_{1p} & n_{1.} \\ x_2 & n_{21} & n_{22} & \cdots & n_{2p} & n_{2.} \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ x_k & n_{k1} & n_{k2} & \cdots & n_{kp} & n_{k.} \\ \hline \text{Total} & n_{.1} & n_{.2} & \cdots & n_{.p} & n \end{array} \]
donde:
Supongamos que se desea estudiar la relación entre:
La siguiente tabla resume la información observada en 240 personas.
tab <- matrix(
c(72, 48,
45, 75),
nrow = 2,
byrow = TRUE,
dimnames = list(
Capacitacion = c("Completó", "No completó"),
Insercion_formal = c("Sí", "No")
)
)
tab
## Insercion_formal
## Capacitacion Sí No
## Completó 72 48
## No completó 45 75
kable(tab, caption = "Tabla de contingencia: capacitación e inserción formal")
| Sí | No | |
|---|---|---|
| Completó | 72 | 48 |
| No completó | 45 | 75 |
La distribución conjunta de \(X\) e \(Y\) se define como el conjunto de probabilidades:
\[ \qquad \pi_{ij} = P(X=i, Y=j), \qquad i = 1, \ldots, k;\; j = 1, \ldots, p \]
cumpliéndose que:
\[ \sum_{i=1}^{k}\sum_{j=1}^{p}\pi_{ij} = 1 \]
En términos empíricos, la distribución conjunta se obtiene dividiendo cada frecuencia de la tabla entre el total \(n\):
\[ \hat{\pi}_{ij} = \frac{n_{ij}}{n} \]
dist_conjunta <- prop.table(tab)
round(dist_conjunta, 4)
## Insercion_formal
## Capacitacion Sí No
## Completó 0.3000 0.2000
## No completó 0.1875 0.3125
kable(round(dist_conjunta, 4), caption = "Distribución conjunta")
| Sí | No | |
|---|---|---|
| Completó | 0.3000 | 0.2000 |
| No completó | 0.1875 | 0.3125 |
Interpretación
Cada celda representa la proporción del total de personas que pertenece simultáneamente a una categoría de capacitación y a una categoría de inserción formal.
Por ejemplo, la celda correspondiente a Completó y Sí representa la proporción de personas que completaron la capacitación y lograron insertarse en un empleo formal.
La distribución marginal de \(X\) se define como:
\[ \pi_{i.} = P(X=i) = \sum_{j=1}^{p} P(X=i, Y=j) = \sum_{j=1}^{p}\pi_{ij} \]
La distribución marginal de \(Y\) se define como:
\[ \pi_{.j} = P(Y=j) = \sum_{i=1}^{k} P(X=i, Y=j) = \sum_{i=1}^{k}\pi_{ij} \]
En términos muestrales:
\[ \hat{\pi}_{i.} = \frac{n_{i.}}{n}, \qquad \hat{\pi}_{.j} = \frac{n_{.j}}{n} \]
marginal_x <- margin.table(tab, 1)
marginal_y <- margin.table(tab, 2)
marginal_x
## Capacitacion
## Completó No completó
## 120 120
marginal_y
## Insercion_formal
## Sí No
## 117 123
prop_marginal_x <- prop.table(marginal_x)
prop_marginal_y <- prop.table(marginal_y)
prop_marginal_x
## Capacitacion
## Completó No completó
## 0.5 0.5
prop_marginal_y
## Insercion_formal
## Sí No
## 0.4875 0.5125
kable(data.frame(Capacitacion = names(prop_marginal_x),
Proporcion = round(as.numeric(prop_marginal_x), 4)),
caption = "Distribución marginal de X (Capacitación)")
| Capacitacion | Proporcion |
|---|---|
| Completó | 0.5 |
| No completó | 0.5 |
kable(data.frame(Insercion_formal = names(prop_marginal_y),
Proporcion = round(as.numeric(prop_marginal_y), 4)),
caption = "Distribución marginal de Y (Inserción formal)")
| Insercion_formal | Proporcion |
|---|---|
| Sí | 0.4875 |
| No | 0.5125 |
Interpretación
La distribución marginal permite describir cada variable por separado, sin considerar la otra.
La distribución condicional de \(Y\) dado \(X=i\) se define como:
\[ \pi_{j|X=i} = P(Y=j \mid X=i) = \frac{P(X=i, Y=j)}{P(X=i)} = \frac{\pi_{ij}}{\pi_{i.}} \]
Análogamente, la distribución condicional de \(X\) dado \(Y=j\) es:
\[ \pi_{i|Y=j} = P(X=i \mid Y=j) = \frac{P(X=i, Y=j)}{P(Y=j)} = \frac{\pi_{ij}}{\pi_{.j}} \]
Como el interés sustantivo es estudiar la inserción formal según participación en capacitación, resulta especialmente útil observar la distribución de Y condicionada a X.
cond_y_dado_x <- prop.table(tab, margin = 1)
round(cond_y_dado_x, 4)
## Insercion_formal
## Capacitacion Sí No
## Completó 0.600 0.400
## No completó 0.375 0.625
kable(round(cond_y_dado_x, 4),
caption = "Distribución condicional de Y dado X")
| Sí | No | |
|---|---|---|
| Completó | 0.600 | 0.400 |
| No completó | 0.375 | 0.625 |
cond_x_dado_y <- prop.table(tab, margin = 2)
round(cond_x_dado_y, 4)
## Insercion_formal
## Capacitacion Sí No
## Completó 0.6154 0.3902
## No completó 0.3846 0.6098
kable(round(cond_x_dado_y, 4),
caption = "Distribución condicional de X dado Y")
| Sí | No | |
|---|---|---|
| Completó | 0.6154 | 0.3902 |
| No completó | 0.3846 | 0.6098 |
Interpretación
Se dice que dos variables categóricas \(X\) e \(Y\) son independientes si conocer el valor de una no modifica la distribución de la otra.
Matemáticamente, una condición equivalente de independencia es:
\[ P(Y=j \mid X=i) = P(Y=j) \]
para todo \(i\) y \(j\).
También puede expresarse como:
\[ \pi_{ij} = \pi_{i.}\pi_{.j} \]
Es decir, la probabilidad conjunta es igual al producto de las probabilidades marginales.
Si la inserción formal fuera independiente de la capacitación, entonces la proporción de empleo formal debería ser la misma entre quienes completaron y quienes no completaron la capacitación.
Veamos ambas proporciones:
round(cond_y_dado_x, 4)
## Insercion_formal
## Capacitacion Sí No
## Completó 0.600 0.400
## No completó 0.375 0.625
Interpretación
La proporción de inserción formal no es la misma en ambos grupos, por lo que, desde un punto de vista descriptivo, existe evidencia de asociación entre participación en capacitación e inserción en empleo formal.
Cuando una variable respuesta \(Y\) es binaria, y se compara entre dos grupos definidos por otra variable \(X\), se obtiene una tabla de contingencia de dimensión 2 x 2.
En este contexto, definimos:
La tabla puede representarse como:
\[ \begin{array}{c|cc} X \backslash Y & 1 & 0 \\ \hline 1 & n_{11} & n_{12} \\ 2 & n_{21} & n_{22} \end{array} \]
Sea:
\[ \pi_1 = P(Y=1 \mid X=1), \qquad \pi_2 = P(Y=1 \mid X=2) \]
Estas dos proporciones serán el centro de la comparación.
n11 <- tab[1, 1]
n12 <- tab[1, 2]
n21 <- tab[2, 1]
n22 <- tab[2, 2]
n1 <- n11 + n12
n2 <- n21 + n22
p1 <- n11 / n1
p2 <- n21 / n2
p1
## [1] 0.6
p2
## [1] 0.375
Esta medida resume la distancia entre las proporciones en puntos porcentuales o proporcionales, por lo que su lectura resulta especialmente útil cuando interesa cuantificar la magnitud absoluta de la brecha entre dos grupos.
La diferencia de proporciones se define como:
\[ \pi_1 - \pi_2 \]
Su estimador muestral es:
\[ \hat{p}_1 - \hat{p}_2 \]
Esta medida toma valores en el intervalo:
\[ -1 \leq \pi_1 - \pi_2 \leq 1 \]
Cuando la diferencia de proporciones es igual a 0, ambas proporciones son iguales, es decir, \(_1 = _2\), lo que sugiere ausencia de diferencia entre los grupos respecto al evento de interés.
dif_prop <- p1 - p2
dif_prop
## [1] 0.225
Interpretación
La diferencia de proporciones expresa en cuánto difiere, en términos absolutos, la probabilidad de éxito entre los dos grupos comparados.
En el ejemplo, una diferencia positiva indica que la probabilidad de inserción en empleo formal es mayor entre quienes completaron la capacitación que entre quienes no la completaron.
El riesgo relativo se define como el cociente entre las probabilidades de éxito de los dos grupos:
\[ RR = \frac{\pi_1}{\pi_2} \]
Su estimador muestral es:
\[ \widehat{RR} = \frac{\hat{p}_1}{\hat{p}_2} \]
rr <- p1 / p2
rr
## [1] 1.6
Interpretación
En este caso, el riesgo relativo indica cuántas veces es mayor la probabilidad de inserción formal en el grupo que completó la capacitación respecto del grupo que no la completó.
Antes de definir la razón de probabilidades, recordemos que la odds o razón de éxito de una variable binaria con probabilidad de éxito \(\) se define como:
\[ odds = \frac{\pi}{1-\pi} \]
Por tanto, para los dos grupos:
\[ odds_1 = \frac{\pi_1}{1-\pi_1}, \qquad odds_2 = \frac{\pi_2}{1-\pi_2} \]
La razón de probabilidades u odds ratio se define como:
\[ OR = \frac{odds_1}{odds_2} = \frac{\pi_1/(1-\pi_1)}{\pi_2/(1-\pi_2)} \]
En una tabla 2 x 2, también puede expresarse como:
\[ OR = \frac{n_{11}n_{22}}{n_{12}n_{21}} \]
odds1 <- p1 / (1 - p1)
odds2 <- p2 / (1 - p2)
or <- odds1 / odds2
or
## [1] 2.5
Cálculo equivalente a partir de la tabla
or_tabla <- (n11 * n22) / (n12 * n21)
or_tabla
## [1] 2.5
Interpretación
La razón de probabilidades compara los odds de inserción formal entre ambos grupos.
resumen <- data.frame(
Medida = c("Proporción de éxito grupo 1",
"Proporción de éxito grupo 2",
"Diferencia de proporciones",
"Riesgo relativo",
"Razón de probabilidades"),
Valor = round(c(p1, p2, dif_prop, rr, or), 4)
)
kable(resumen, caption = "Resumen de medidas de comparación")
| Medida | Valor |
|---|---|
| Proporción de éxito grupo 1 | 0.600 |
| Proporción de éxito grupo 2 | 0.375 |
| Diferencia de proporciones | 0.225 |
| Riesgo relativo | 1.600 |
| Razón de probabilidades | 2.500 |
Interpretación sustantiva del ejemplo
A partir de la tabla analizada, se observa que:
Desde una perspectiva del mercado laboral, este tipo de herramientas permite evaluar de manera descriptiva si la participación en programas de capacitación se asocia con mejores resultados de inserción formal.
En algunos casos, el riesgo relativo (RR) o la razón de probabilidades (OR) pueden tomar valores menores que 1. Esto indica que el evento de interés tiene una menor ocurrencia relativa en el grupo 1 en comparación con el grupo 2.
No obstante, en términos de comunicación de resultados, a veces resulta más intuitivo interpretar la inversa de la medida, ya que ello permite expresar cuántas veces el grupo 2 presenta mayor probabilidad o mayor razón de éxito que el grupo 1.
Ejemplo ilustrativo
Supongamos que se estudia la probabilidad de acceso a empleo formal según nivel educativo, distinguiendo dos grupos:
Se observa la siguiente tabla:
\[ \begin{array}{c|cc} & \text{Formal} & \text{No formal} \\ \hline \text{Hasta secundaria} & 30 & 70 \\ \text{Terciaria} & 60 & 40 \end{array} \]
Cálculo de proporciones
tab3 <- matrix(
c(30, 70,
60, 40),
nrow = 2,
byrow = TRUE,
dimnames = list(
Educacion = c("Hasta secundaria", "Terciaria"),
Empleo_formal = c("Sí", "No")
)
)
tab3
## Empleo_formal
## Educacion Sí No
## Hasta secundaria 30 70
## Terciaria 60 40
n11 <- tab3[1, 1]
n12 <- tab3[1, 2]
n21 <- tab3[2, 1]
n22 <- tab3[2, 2]
n1 <- n11 + n12
n2 <- n21 + n22
p1 <- n11 / n1
p2 <- n21 / n2
rr3 <- p1 / p2
or3 <- (n11 * n22) / (n12 * n21)
resultado_tab3 <- data.frame(
Medida = c("Proporción grupo 1", "Proporción grupo 2", "Riesgo relativo", "Odds Ratio"),
Valor = round(c(p1, p2, rr3, or3), 4)
)
kable(resultado_tab3, caption = "Medidas de asociación para el ejemplo")
| Medida | Valor |
|---|---|
| Proporción grupo 1 | 0.3000 |
| Proporción grupo 2 | 0.6000 |
| Riesgo relativo | 0.5000 |
| Odds Ratio | 0.2857 |
Interpretación del riesgo relativo
En este ejemplo:
\[ RR = \frac{0.30}{0.60} = 0.50 \]
Esto significa que la probabilidad de empleo formal en el grupo de personas con hasta secundaria equivale a 0,5 veces la probabilidad observada en el grupo con educación terciaria.
También puede expresarse de manera más intuitiva invirtiendo la razón:
\[ \frac{1}{0.50} = 2 \]
Por tanto, puede afirmarse que las personas con educación terciaria presentan una probabilidad de empleo formal 2 veces mayor que las personas con hasta secundaria.
Interpretación de la razón de probabilidades
En este mismo ejemplo:
\[ OR = \frac{30 \times 40}{70 \times 60} = 0.286 \]
Esto indica que la razón de probabilidades de empleo formal en el grupo con hasta secundaria es menor que la observada en el grupo con educación terciaria.
Si se toma la inversa:
\[ \frac{1}{0.286} \approx 3.5 \]
puede decirse que las personas con educación terciaria presentan aproximadamente 3,5 veces mayores odds de empleo formal que las personas con hasta secundaria.
Considere ahora la siguiente tabla sobre acceso a seguridad social según sector de inserción laboral de jóvenes ocupados.
tab2 <- matrix(
c(54, 36,
30, 60),
nrow = 2,
byrow = TRUE,
dimnames = list(
Sector = c("Industria", "Comercio"),
Seguridad_social = c("Sí", "No")
)
)
tab2
## Seguridad_social
## Sector Sí No
## Industria 54 36
## Comercio 30 60
En el análisis de dos variables categóricas, las tablas de contingencia constituyen la herramienta básica para organizar la información y derivar distribuciones conjunta, marginal y condicional.
En tablas 2 x 2, la comparación de proporciones permite resumir la relación entre dos variables binarias mediante medidas complementarias:
Estas medidas resultan especialmente útiles en estudios aplicados al mercado laboral, donde con frecuencia interesa comparar resultados entre grupos de trabajadores, sectores de actividad, niveles educativos o programas de intervención.
Nota metodológica: La presente guía fue elaborada con apoyo de herramientas de inteligencia artificial generativa, específicamente ChatGPT de OpenAI, como asistencia en la estructuración y redacción del material. La selección de contenidos, la validación conceptual y la revisión final son responsabilidad del docente.