Capítulo 8: Inferencia Estadística para Datos Categóricos en Ciencias de la Salud

Adaptación Didáctica de “Introductory Statistics for the Life and Biomedical Sciences” con Datos Reales de Investigaciones Estudiantiles (UJMD)

Author

Giovanni Francisco Guevara, MD, MPH Ph.D(c) - Cátedra de Bioestadística - Facultad de Ciencias de la Salud

Published

November 10, 2026

1 Introducción y Objetivos del Capítulo

En el Capítulo 5 exploramos la inferencia estadística aplicada a variables cuantitativas continuas (medias, pruebas \(t\) y ANOVA). No obstante, en la práctica médica y en la investigación clínica, una proporción sustancial de las variables de interés son de naturaleza categórica: presencia o ausencia de enfermedad, éxito o fracaso terapéutico, hábito tabáquico o de vapeo, grado de somnolencia diurna y respuesta a intervenciones sanitarias.

En estos escenarios, las mediciones no se expresan en promedios numéricos con unidades de escala, sino como conteos de frecuencia (\(n\)), proporciones muestrales (\(\hat{p}\)) y porcentajes.

El objetivo central de este capítulo es desarrollar el marco metodológico para probar hipótesis y estimar parámetros poblacionales sobre variables cualitativas dicotómicas y politómicas, abarcando desde una sola proporción hasta tablas de contingencia multivariadas, pruebas exactas y métodos computacionales de remuestreo.

1.0.1 Objetivos de aprendizaje

Al finalizar este capítulo, el estudiante de medicina será capaz de:

  1. Analizar e interpretar la distribución muestral de una proporción simple (\(\hat{p}\)), evaluando las condiciones de éxito-fracaso y construyendo intervalos de confianza del 95% (\(IC_{95\%}\)) y pruebas de significancia \(Z\).
  2. Comparar proporciones entre dos muestras independientes mediante la prueba \(Z\) de dos proporciones, integrando estimadores de impacto epidemiológico (Riesgo Relativo y Razón de Momios / Odds Ratio).
  3. Aplicar la prueba de Chi-cuadrado (\(\chi^2\)) de Bondad de Ajuste para verificar si una distribución muestral se ajusta a un modelo teórico o referencia poblacional conocida.
  4. Evaluar la asociación e independencia entre dos variables cualitativas en tablas de contingencia \(r \times c\) mediante la prueba \(\chi^2\) de Independencia de Pearson y el análisis de residuos ajustados.
  5. Reconocer las limitaciones asintóticas de la prueba \(\chi^2\) en muestras pequeñas y aplicar con precisión el Test Exacto de Fisher.
  6. Implementar métodos modernos de inferencia libre de distribución basados en simulación y permutaciones en RStudio.
  7. Seleccionar la técnica inferencial adecuada para datos categóricos a partir de un árbol de decisión bioestadístico.

2 Inferencia para una Proporción

2.1 Fundamentos teóricos y modelo matemático

Consideremos una variable biológica dicotómica \(X\) que puede tomar únicamente dos valores: “éxito” (\(X = 1\)) o “fracaso” (\(X = 0\)), con una probabilidad poblacional constante de éxito denotada por \(p\). Cada individuo representa un ensayo Bernoulli independiente.

En una muestra aleatoria de tamaño \(n\), el número total de éxitos es la variable aleatoria binomial \(X \sim \text{Binomial}(n, p)\). El estimador puntual insesgado de la proporción poblacional \(p\) es la proporción muestral (\(\hat{p}\)):

\[\hat{p} = \frac{X}{n} = \frac{\sum_{i=1}^n X_i}{n}\]

2.1.1 Esperanza y varianza del estimador

Por las propiedades de la distribución binomial:

  1. Esperanza (insesgadez): \(E(\hat{p}) = E\left(\frac{X}{n}\right) = \frac{n p}{n} = p\)
  2. Varianza: \(\text{Var}(\hat{p}) = \text{Var}\left(\frac{X}{n}\right) = \frac{1}{n^2} \text{Var}(X) = \frac{n p (1 - p)}{n^2} = \frac{p(1 - p)}{n}\)

Por consiguiente, el error estándar de la proporción (\(SE\)) es:

\[SE_{\hat{p}} = \sqrt{\frac{p(1 - p)}{n}}\]

Cuando el parámetro poblacional \(p\) es desconocido, se sustituye por el estimador muestral \(\hat{p}\):

\[\widehat{SE}_{\hat{p}} = \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}\]


2.2 La Condición de éxito-fracaso y el Teorema del Límite Central

Por el Teorema del Límite Central, la distribución muestral de \(\hat{p}\) se aproxima a una distribución normal:

\[\hat{p} \mathrel{\dot{\sim}} N\left(p, \, \frac{p(1-p)}{n}\right)\]

Para que esta aproximación normal sea válida, debe cumplirse la Condición de Éxito-Fracaso:

\[n p \ge 10 \quad \text{y} \quad n (1 - p) \ge 10\]

(En estudios con muestras moderadas, algunos textos biometrológicos admiten un umbral mínimo de 5 éxitos y 5 fracasos).


2.3 Estimación interválica: De Wald a Wilson y Agresti-Coull

2.3.1 1. Intervalo asintótico clásico de Wald

El intervalo de confianza tradicional de nivel \((1 - \alpha)\) se define como:

\[IC_{1 - \alpha} = \hat{p} \pm Z_{\alpha/2} \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}\]

Para un nivel de confianza del \(95\%\) (\(Z_{0.025} = 1.96\)):

\[IC_{95\%} = \hat{p} \pm 1.96 \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}\]

Advertencia metodológica: El intervalo de Wald presenta una cobertura real deficiente cuando el tamaño de muestra \(n\) es pequeño o cuando la proporción \(\hat{p}\) se aproxima a los extremos (cercana a 0 o 1).

2.3.2 2. Corrección de Agresti-Coull (“Regla de más cuatro”)

Agresti y Coull demostraron que sumar 2 éxitos ficticios y 2 fracasos ficticios (añadir 4 observaciones imaginarias en total) corrige drásticamente el sesgo de cobertura:

\[\tilde{n} = n + 4, \quad \tilde{X} = X + 2, \quad \tilde{p} = \frac{X + 2}{n + 4}\]

\[IC_{95\% \text{ (Agresti-Coull)}} = \tilde{p} \pm 1.96 \sqrt{\frac{\tilde{p}(1 - \tilde{p})}{\tilde{n}}}\]


2.4 Prueba de hipótesis \(Z\) para una proporción

Para evaluar si la proporción poblacional \(p\) coincide con un valor de referencia predeterminado \(p_0\):

  • Hipótesis Nula (\(H_0\)): \(p = p_0\)
  • Hipótesis Alternativa (\(H_A\)): \(p \neq p_0\) (bilateral)

Bajo el supuesto de que \(H_0\) es verdadera, el error estándar debe calcularse utilizando el valor teórico nulo \(p_0\) (no el estimado \(\hat{p}\)):

\[SE_0 = \sqrt{\frac{p_0(1 - p_0)}{n}}\]

El estadístico de prueba estandarizado es:

\[Z_{\text{calc}} = \frac{\hat{p} - p_0}{\sqrt{\frac{p_0(1 - p_0)}{n}}}\]

Bajo \(H_0\), \(Z_{\text{calc}} \sim N(0, 1)\).


2.5 Ejemplo aplicado con Datos Estudiantiles (Informe Subgrupo 1: Prevalencia de somnolencia diurna excesiva)

En la investigación del Subgrupo 1, los estudiantes evaluaron la prevalencia de Somnolencia Diurna Excesiva (SDE) mediante la Escala de Somnolencia de Epworth (ESS > 10 puntos) en una muestra representativa de \(n = 45\) estudiantes de Medicina de la UJMD.

La literatura médica nacional reporta que la prevalencia histórica de SDE en población universitaria general es del \(30\%\) (\(p_0 = 0.30\)). Los estudiantes desean probar si en su muestra la prevalencia de somnolencia patológica es significativamente superior a la referencia del \(30\%\).

2.5.1 Datos muestrales registrados:

  • Tamaño de muestra: \(n = 45\)
  • Casos con Somnolencia Diurna Excesiva (Epworth > 10): \(X = 22\)
  • Proporción muestral observada: \(\hat{p} = \frac{22}{45} \approx 0.4889\) (\(48.89\%\))

2.5.2 Verificación de condiciones:

\[n p_0 = 45 \times 0.30 = 13.5 \ge 10\] \[n (1 - p_0) = 45 \times 0.70 = 31.5 \ge 10\] Se satisfacen las condiciones para la aproximación normal.

2.5.3 Planteamiento de hipótesis:

  • \(H_0: p = 0.30\) (La prevalencia poblacional de SDE en estudiantes de medicina es del 30%)
  • \(H_A: p > 0.30\) (La prevalencia es superior al estándar del 30%, prueba unilateral derecha)
  • Nivel de significancia: \(\alpha = 0.05\)

2.5.4 Cálculo aritmético manual:

  1. Error estándar nulo (\(SE_0\)): \[SE_0 = \sqrt{\frac{0.30 \times (1 - 0.30)}{45}} = \sqrt{\frac{0.21}{45}} = \sqrt{0.004667} \approx 0.06831\]

  2. Estadístico \(Z\) Observado: \[Z_{\text{calc}} = \frac{0.4889 - 0.3000}{0.06831} = \frac{0.1889}{0.06831} \approx +2.765\]

  3. Valor \(p\): Consultando la distribución normal estándar para una cola derecha: \[p = P(Z \ge 2.765) = 1 - \Phi(2.765) \approx 0.0028\]

  4. Intervalo de Confianza del 95% (Agresti-Coull): \[\tilde{n} = 45 + 4 = 49, \quad \tilde{X} = 22 + 2 = 24, \quad \tilde{p} = \frac{24}{49} \approx 0.4898\] \[SE_{\text{AC}} = \sqrt{\frac{0.4898 \times (1 - 0.4898)}{49}} = \sqrt{\frac{0.2499}{49}} \approx 0.0714\] \[IC_{95\%} = 0.4898 \pm 1.96 \times (0.0714) = [0.350, \, 0.630]\]

  5. Decisión e Interpretación Bioestadística: Como el valor \(p = 0.0028 < 0.05\), se rechaza \(H_0\). Existe evidencia muestral estadísticamente significativa para afirmar que la prevalencia de somnolencia diurna patológica en los estudiantes de Medicina evaluados (\(48.89\%\), \(IC_{95\%}: 35.0\% \text{ a } 63.0\%\)) supera de manera alarmante la referencia poblacional del \(30\%\).


2.5.5 Código ejecutable en RStudio

library(tidyverse)

# Datos del Informe 1
n <- 45
x <- 22
p_hat <- x / n
p0 <- 0.30

# Prueba Z de 1 proporción (con y sin corrección de continuidad)
test_prop <- prop.test(x = x, n = n, p = p0, alternative = "greater", correct = FALSE)
print(test_prop)

    1-sample proportions test without continuity correction

data:  x out of n, null probability p0
X-squared = 7.6455, df = 1, p-value = 0.002846
alternative hypothesis: true p is greater than 0.3
95 percent confidence interval:
 0.3704739 1.0000000
sample estimates:
        p 
0.4888889 
# Prueba Binomial Exacta
test_binom <- binom.test(x = x, n = n, p = p0, alternative = "greater")
print(test_binom)

    Exact binomial test

data:  x and n
number of successes = 22, number of trials = 45, p-value = 0.00596
alternative hypothesis: true probability of success is greater than 0.3
95 percent confidence interval:
 0.3587926 1.0000000
sample estimates:
probability of success 
             0.4888889 
# Gráfico pedagógico de la distribución de éxitos bajo H0
x_vals <- 0:45
prob_binom <- dbinom(x_vals, size = n, prob = p0)
df_binom <- tibble(x = x_vals, prob = prob_binom)

ggplot(df_binom, aes(x = x, y = prob)) +
  geom_col(aes(fill = x >= 22), color = "white", width = 0.8) +
  scale_fill_manual(values = c("#457B9D", "#E63946"), labels = c("Zona no crítica", "Zona crítica (X >= 22)")) +
  geom_vline(xintercept = n * p0, color = "#1D3557", linetype = "dashed", size = 1.2) +
  annotate("text", x = n * p0, y = 0.12, label = "Esperado bajo H0: E = 13.5", color = "#1D3557", vjust = -1, fontface = "bold") +
  annotate("text", x = 22, y = 0.05, label = paste("Observado: X = 22\n(p = ", round(test_binom$p.value, 4), ")", sep = ""), 
           color = "#E63946", fontface = "bold", hjust = -0.1) +
  labs(
    title = "Prueba de Hipótesis para la Prevalencia de Somnolencia (Epworth > 10)",
    subtitle = "Distribución Binomial bajo H0: p = 0.30 frente al valor muestral observado",
    x = "Número de Estudiantes con Somnolencia Diurna Excesiva (x)",
    y = "Probabilidad P(X = x)",
    fill = "Región"
  ) +
  theme_minimal(base_size = 12) +
  theme(legend.position = "bottom")
Figure 1: Distribución de probabilidad binomial y aproximación normal para la prueba de una proporción (Informe Subgrupo 1).

3 Inferencia para la diferencia de dos proporciones

3.1 Fundamentos teóricos y comparación de dos poblaciones independientes

Cuando comparamos dos poblaciones médicas independientes respecto a un desenlace binario (por ejemplo, presencia de síntomas respiratorios según exposición al aerosol de vapeo), disponemos de dos muestras aleatorias:

  • Grupo 1 (Expuestos): \(n_1\) observaciones, \(X_1\) éxitos, proporción \(\hat{p}_1 = \frac{X_1}{n_1}\).
  • Grupo 2 (No Expuestos / Control): \(n_2\) observaciones, \(X_2\) éxitos, proporción \(\hat{p}_2 = \frac{X_2}{n_2}\).

El estimador puntual de la diferencia poblacional \((p_1 - p_2)\) es:

\[\hat{d} = \hat{p}_1 - \hat{p}_2\]

Dado que las dos muestras son independientes:

\[\text{Var}(\hat{p}_1 - \hat{p}_2) = \text{Var}(\hat{p}_1) + \text{Var}(\hat{p}_2) = \frac{p_1(1 - p_1)}{n_1} + \frac{p_2(1 - p_2)}{n_2}\]


3.2 Intervalo de confianza para \((p_1 - p_2)\) (Estimación No Agrupada)

Para construir el intervalo de confianza, como no asumimos ninguna hipótesis nula a priori, estimamos la varianza de cada población utilizando su propia proporción muestral:

\[SE_{\text{diff}} = \sqrt{\frac{\hat{p}_1(1 - \hat{p}_1)}{n_1} + \frac{\hat{p}_2(1 - \hat{p}_2)}{n_2}}\]

El Intervalo de Confianza del \(95\%\) se expresa como:

\[IC_{95\%}(p_1 - p_2) = (\hat{p}_1 - \hat{p}_2) \pm 1.96 \times \sqrt{\frac{\hat{p}_1(1 - \hat{p}_1)}{n_1} + \frac{\hat{p}_2(1 - \hat{p}_2)}{n_2}}\]

3.2.1 La Regla de decisión sobre el Cero (\(0\))

  • Si el intervalo contiene al valor cero (\(0 \in IC_{95\%}\)), se concluye que no existe diferencia estadísticamente significativa entre las dos proporciones poblacionales.
  • Si el intervalo excluye al cero por completo (ambos límites son positivos o ambos son negativos), se rechaza la hipótesis de igualdad con \(\alpha = 0.05\).

3.3 Prueba de hipótesis \(Z\) con Proporción Combinada (Pooled Proportion)

Cuando planteamos la hipótesis nula de igualdad entre ambas proporciones:

\[H_0: p_1 - p_2 = 0 \iff p_1 = p_2 = p_{\text{común}}\]

Bajo \(H_0\), la mejor estimación de la proporción común no es \(\hat{p}_1\) ni \(\hat{p}_2\), sino la proporción combinada o ponderada (\(\hat{p}_{\text{pool}}\)):

\[\hat{p}_{\text{pool}} = \frac{X_1 + X_2}{n_1 + n_2}\]

El Error Estándar bajo la hipótesis nula es:

\[SE_{\text{pool}} = \sqrt{\hat{p}_{\text{pool}}(1 - \hat{p}_{\text{pool}}) \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}\]

El estadístico de prueba \(Z\) es:

\[Z_{\text{calc}} = \frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}_{\text{pool}}(1 - \hat{p}_{\text{pool}}) \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}}\]


3.4 Medidas epidemiológicas de asociación: Riesgo Relativo y Razón de Momios (Odds Ratio)

En los estudios clínicos de ciencias de la salud, además de la diferencia absoluta de proporciones (Riesgo Atribuible o Reducción Absoluta del Riesgo), es estándar reportar medidas relativas de asociación a partir de una tabla de contingencia \(2 \times 2\):

Grupo / Condición Con Evento (\(+\)) Sin Evento (\(-\)) Total
Expuestos (1) \(a\) \(b\) \(n_1 = a + b\)
No Expuestos (2) \(c\) \(d\) \(n_2 = c + d\)
Total \(a + c\) \(b + d\) \(N\)

3.4.1 1. Riesgo Relativo (\(RR\))

Utilizado principalmente en cohortes y ensayos clínicos prospectivos:

\[RR = \frac{\hat{p}_1}{\hat{p}_2} = \frac{a / (a + b)}{c / (c + d)}\]

3.4.2 2. Razón de Momios u Odds Ratio (\(OR\))

Medida estándar en estudios transversales y casos y controles:

\[\text{Odds}_1 = \frac{a}{b}, \quad \text{Odds}_2 = \frac{c}{d} \implies OR = \frac{a / b}{c / d} = \frac{a \cdot d}{b \cdot c}\]

El Error Estándar del \(\ln(OR)\) se calcula mediante la fórmula de Woolf:

\[SE_{\ln(OR)} = \sqrt{\frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d}}\]

\[IC_{95\%}(OR) = \exp\left(\ln(OR) \pm 1.96 \times SE_{\ln(OR)}\right)\]


3.5 Ejemplo aplicado con datos estudiantiles (Informe Subgrupo 3: Vapeo y síntomas respiratorios)

En el proyecto del Subgrupo 3, se evaluó la relación entre el uso de cigarrillos electrónicos (vapeadores) y la presencia de síntomas respiratorios crónicos/irritativos (tos matutina o disnea leve) en una muestra de \(N = 60\) estudiantes universitarios.

3.5.1 Datos muestrales registrados:

  • Grupo 1 (Usuarios de vapeador): \(n_1 = 28\), presentan síntomas: \(X_1 = 17\) (\(\hat{p}_1 = \frac{17}{28} \approx 0.6071\))
  • Grupo 2 (No usuarios / Control): \(n_2 = 32\), presentan síntomas: \(X_2 = 8\) (\(\hat{p}_2 = \frac{8}{32} = 0.2500\))

3.5.2 Planteamiento de hipótesis:

  • \(H_0: p_1 - p_2 = 0\) (La prevalencia de síntomas respiratorios es idéntica en ambos grupos)
  • \(H_A: p_1 - p_2 \neq 0\) (Existe diferencia en la prevalencia de síntomas)
  • Nivel de significancia: \(\alpha = 0.05\)

3.5.3 Cálculo aritmético manual:

  1. Diferencia de proporciones muestrales: \[\hat{d} = \hat{p}_1 - \hat{p}_2 = 0.6071 - 0.2500 = 0.3571 \quad (35.71\%)\]

  2. Proporción combinada (\(\hat{p}_{\text{pool}}\)): \[\hat{p}_{\text{pool}} = \frac{17 + 8}{28 + 32} = \frac{25}{60} \approx 0.4167\]

  3. Error estándar combinado (\(SE_{\text{pool}}\)): \[SE_{\text{pool}} = \sqrt{0.4167 \times (1 - 0.4167) \left(\frac{1}{28} + \frac{1}{32}\right)} = \sqrt{0.2431 \times (0.03571 + 0.03125)} = \sqrt{0.2431 \times 0.06696} \approx 0.1276\]

  4. Estadístico \(Z\) calculado: \[Z_{\text{calc}} = \frac{0.3571}{0.1276} \approx +2.798\]

  5. Valor \(p\) bilateral: \[p = 2 \times P(Z \ge 2.798) = 2 \times (1 - 0.9974) \approx 0.0051\]

  6. Razón de Momios (\(OR\)): \[a = 17, \quad b = 11, \quad c = 8, \quad d = 24\] \[OR = \frac{17 \times 24}{11 \times 8} = \frac{408}{88} \approx 4.636\] \[SE_{\ln(OR)} = \sqrt{\frac{1}{17} + \frac{1}{11} + \frac{1}{8} + \frac{1}{24}} = \sqrt{0.0588 + 0.0909 + 0.1250 + 0.0417} = \sqrt{0.3164} \approx 0.5625\] \[IC_{95\%}(OR) = \exp\left(\ln(4.636) \pm 1.96 \times 0.5625\right) = \exp(1.5339 \pm 1.1025) = [1.539, \, 13.96]\]

  7. Decisión e interpretación: Con \(p = 0.0051 < 0.05\) y un \(IC_{95\%}\) del \(OR\) que excluye totalmente la unidad (\(1.54 \text{ a } 13.96\)), se concluye que los estudiantes que utilizan vapeadores presentan una probabilidad sustancialmente mayor (más de 4.6 veces las odds) de reportar síntomas respiratorios irritativos en comparación con el grupo no usuario.


3.5.4 Código ejecutable en RStudio

# Matriz 2x2: Filas = Grupo (Vapeo, Control); Columnas = Síntomas (Sí, No)
tabla_2x2 <- matrix(c(17, 11, 8, 24), nrow = 2, byrow = TRUE)
colnames(tabla_2x2) <- c("Con_Sintomas", "Sin_Sintomas")
rownames(tabla_2x2) <- c("Usuario_Vapeo", "No_Usuario")
print(tabla_2x2)
              Con_Sintomas Sin_Sintomas
Usuario_Vapeo           17           11
No_Usuario               8           24
# Prueba de dos proporciones en R
test_2prop <- prop.test(tabla_2x2, correct = FALSE)
print(test_2prop)

    2-sample test for equality of proportions without continuity correction

data:  tabla_2x2
X-squared = 7.8367, df = 1, p-value = 0.00512
alternative hypothesis: two.sided
95 percent confidence interval:
 0.1221272 0.5921585
sample estimates:
   prop 1    prop 2 
0.6071429 0.2500000 
# Visualización gráfica con intervalos de confianza de proporciones
df_grafico <- tibble(
  Grupo = c("Usuarios Vapeo", "No Usuarios"),
  n = c(28, 32),
  Exitos = c(17, 8),
  Proporcion = Exitos / n,
  SE = sqrt(Proporcion * (1 - Proporcion) / n),
  LI = Proporcion - 1.96 * SE,
  LS = Proporcion + 1.96 * SE
)

ggplot(df_grafico, aes(x = Grupo, y = Proporcion, fill = Grupo)) +
  geom_col(alpha = 0.7, width = 0.5, color = "white") +
  geom_errorbar(aes(ymin = LI, ymax = LS), width = 0.15, size = 1.1, color = "#1D3557") +
  geom_text(aes(label = paste(round(Proporcion * 100, 1), "%")), vjust = -1.8, fontface = "bold", size = 4) +
  scale_fill_manual(values = c("#A8DADC", "#E63946")) +
  scale_y_continuous(labels = scales::percent_format(), limits = c(0, 0.9)) +
  labs(
    title = "Prevalencia de Síntomas Respiratorios según Exposición a Vapeo",
    subtitle = paste("Diferencia = +35.7% (IC 95%: ", round(test_2prop$conf.int[1]*100, 1), 
                     "% a ", round(test_2prop$conf.int[2]*100, 1), "%, p = 0.0051)", sep = ""),
    x = "Grupo de Estudio",
    y = "Proporción de Estudiantes con Síntomas"
  ) +
  theme_minimal(base_size = 12) +
  theme(legend.position = "none")
Figure 2: Comparación de la prevalencia de síntomas respiratorios según hábito de vapeo con IC del 95%.

4 Prueba de Chi-Cuadrado (\(\chi^2\)) de Bondad de Ajuste (Goodness-of-Fit)

4.1 Concepto teórico y modelo multinomial

Cuando una variable categórica posee tres o más niveles mutuamente excluyentes (\(k \ge 3\)), el objetivo bioestadístico consiste frecuentemente en verificar si los conteos observados en una sola muestra (\(O_1, O_2, \dots, O_k\)) concuerdan o “se ajustan” a una distribución teórica de probabilidades especificada a priori (\(p_{0,1}, p_{0,2}, \dots, p_{0,k}\), donde \(\sum p_{0,j} = 1\)).

4.1.1 Hipótesis del Test de Bondad de Ajuste:

  • \(H_0: p_1 = p_{0,1}, \, p_2 = p_{0,2}, \, \dots, \, p_k = p_{0,k}\) (Los datos provienen de la distribución hipotética especificada).
  • \(H_A\): Al menos una de las proporciones poblacionales difiere de la especificada en \(H_0\).

4.1.2 Cálculo de las frecuencias esperadas (\(E_j\))

Si la muestra tiene un tamaño total \(N = \sum_{j=1}^k O_j\), el número de casos que esperaríamos observar en cada categoría \(j\) bajo la hipótesis nula es:

\[E_j = N \times p_{0,j}\]


4.2 El estadístico de prueba de Karl Pearson

Karl Pearson demostró que la discrepancia estandarizada entre las frecuencias observadas (\(O_j\)) y las esperadas (\(E_j\)) sigue asintóticamente una distribución Chi-cuadrado (\(\chi^2\)):

\[\chi^2_{\text{calc}} = \sum_{j=1}^k \frac{(O_j - E_j)^2}{E_j}\]

4.2.1 Grados de libertad (\(df\)):

Dado que la suma de las frecuencias esperadas está restringida al gran total (\(\sum E_j = N\)), se pierde 1 grado de libertad:

\[df = k - 1\]

4.2.2 Propiedades fundamentales de la distribución \(\chi^2\):

  1. No puede tomar valores negativos (\(\chi^2 \ge 0\)).
  2. Es asimétrica positiva (sesgada a la derecha).
  3. A medida que los grados de libertad aumentan (\(df > 30\)), la curva se aproxima gradualmente a una distribución normal.
  4. La prueba es estrictamente de cola derecha, ya que discrepancias mayores entre lo observado y lo esperado arrojan valores de \(\chi^2\) más elevados.

4.3 Criterios de validez de Cochran para la Prueba \(\chi^2\)

Para que la aproximación a la distribución \(\chi^2\) continua sea válida: 1. Ninguna celda esperada debe ser menor a 1 (\(E_j \ge 1\) para todo \(j\)). 2. Al menos el \(80\%\) de las celdas esperadas deben tener una frecuencia de 5 o más (\(E_j \ge 5\)).


4.4 Ejemplo aplicado con datos estudiantiles (Informe Subgrupo 2: Distribución del Cronotipo Circadiano)

En el proyecto del Subgrupo 2, se evaluó el cronotipo circadiano (ritmo biológico de sueño-vigilia) de \(N = 90\) estudiantes de la Facultad de Ciencias de la Salud, clasificándolos en: Matutino (alondras), Intermedio y Vespertino (búhos).

Según los datos de referencia poblacional en jóvenes adultos universitarios, la distribución esperada es: - Matutino: \(20\%\) (\(p_{0,1} = 0.20\)) - Intermedio: \(50\%\) (\(p_{0,2} = 0.50\)) - Vespertino: \(30\%\) (\(p_{0,3} = 0.30\))

Los investigadores desean comprobar si la muestra de estudiantes de Medicina presenta una alteración en su ritmo circadiano que la desvíe significativamente de la norma teórica.

4.4.1 Datos muestrales registrados:

  • Total: \(N = 90\)
  • Observados:
    • Matutino: \(O_1 = 10\) estudiantes
    • Intermedio: \(O_2 = 36\) estudiantes
    • Vespertino: \(O_3 = 44\) estudiantes

4.4.2 Frecuencias esperadas bajo \(H_0\):

  • \(E_1 = 90 \times 0.20 = 18.0\)
  • \(E_2 = 90 \times 0.50 = 45.0\)
  • \(E_3 = 90 \times 0.30 = 27.0\)

(Verificación de Cochran: Todas las \(E_j \ge 18 \ge 5\). Requisito plenamente cumplido).

4.4.3 Cálculo manual del estadístico \(\chi^2\):

Categoría \(O_j\) \(E_j\) \(O_j - E_j\) \((O_j - E_j)^2\) \(\frac{(O_j - E_j)^2}{E_j}\)
Matutino 10 18.0 \(-8.0\) 64.0 \(\frac{64.0}{18.0} \approx 3.556\)
Intermedio 36 45.0 \(-9.0\) 81.0 \(\frac{81.0}{45.0} = 1.800\)
Vespertino 44 27.0 \(+17.0\) 289.0 \(\frac{289.0}{27.0} \approx 10.704\)
Total 90 90.0 0.0 — \(\chi^2_{\text{calc}} \approx 16.060\)

4.4.4 Grados de libertad y decisión:

  • \(df = 3 - 1 = 2\).
  • Valor crítico de \(\chi^2\) con \(df = 2\) y \(\alpha = 0.05\): \(\chi^2_{\text{crit}} = 5.991\).
  • Valor \(p\): \(P(\chi^2_2 \ge 16.060) \approx 0.0003\).

Conclusión médica: Como \(\chi^2_{\text{calc}} = 16.060 > 5.991\) (\(p = 0.0003\)), se rechaza categóricamente la hipótesis nula de bondad de ajuste. Los estudiantes de Medicina difieren sustancialmente de la distribución circadiana general, exhibiendo una notable hipertrofia del cronotipo vespertino (\(48.9\%\) observado vs \(30.0\%\) esperado), lo cual concuerda con las demandas de estudio nocturno y privación de sueño descritas en su protocolo.


4.4.5 Código ejecutable en RStudio

# Vectores de conteos y probabilidades teóricas
observados <- c(Matutino = 10, Intermedio = 36, Vespertino = 44)
prob_teoricas <- c(0.20, 0.50, 0.30)

# Prueba Chi-cuadrado de Bondad de Ajuste en R
test_gof <- chisq.test(x = observados, p = prob_teoricas)
print(test_gof)

    Chi-squared test for given probabilities

data:  observados
X-squared = 16.059, df = 2, p-value = 0.0003257
# Tabla visual de comparación
df_gof <- tibble(
  Cronotipo = names(observados),
  Observado = observados,
  Esperado = sum(observados) * prob_teoricas
) %>%
  pivot_longer(cols = c(Observado, Esperado), names_to = "Tipo", values_to = "Frecuencia")

ggplot(df_gof, aes(x = Cronotipo, y = Frecuencia, fill = Tipo)) +
  geom_col(position = "dodge", alpha = 0.85, width = 0.6) +
  scale_fill_manual(values = c("#457B9D", "#E63946")) +
  geom_text(aes(label = Frecuencia), position = position_dodge(0.6), vjust = -0.5, fontface = "bold") +
  labs(
    title = "Prueba de Bondad de Ajuste: Distribución Circadiana en Medicina",
    subtitle = paste("Chi-cuadrado =", round(test_gof$statistic, 3), 
                     ", df = 2, p =", format.pval(test_gof$p.value, digits = 3)),
    x = "Cronotipo Circadiano",
    y = "Número de Estudiantes (Frecuencia)"
  ) +
  theme_minimal(base_size = 12) +
  theme(legend.position = "bottom")
Figure 3: Comparación entre frecuencias observadas y esperadas para el cronotipo circadiano (Informe Subgrupo 2).

5 Inferencia para tablas de contingencia (\(r \times c\)): Independencia y homogeneidad

5.1 Estructura general de una Tabla de Contingencia

Cuando clasificamos a una muestra de individuos de forma simultánea según dos variables cualitativas—una en filas con \(r\) niveles y otra en columnas con \(c\) niveles—generamos una tabla de contingencia bidimensional \(r \times c\):

Fila / Columna Columna 1 Columna 2 \(\dots\) Columna \(c\) Total Fila
Fila 1 \(O_{11}\) \(O_{12}\) \(\dots\) \(O_{1c}\) \(R_1\)
Fila 2 \(O_{21}\) \(O_{22}\) \(\dots\) \(O_{2c}\) \(R_2\)
\(\vdots\) \(\vdots\) \(\vdots\) \(\ddots\) \(\vdots\) \(\vdots\)
Fila \(r\) \(O_{r1}\) \(O_{r2}\) \(\dots\) \(O_{rc}\) \(R_r\)
Total Columna \(C_1\) \(C_2\) \(\dots\) \(C_c\) \(N\)

5.1.1 Distinción conceptual: Independencia vs. Homogeneidad

  • Prueba de Independencia: Se extrae una única muestra aleatoria de una población y se clasifican los sujetos respecto a dos variables (ej. Nivel de actividad física y Estado nutricional). Se contrasta si ambas variables están estadísticamente asociadas.
  • Prueba de Homogeneidad: Se extraen muestras independientes predefinidas de \(r\) subpoblaciones (ej. Estudiantes de 1º, 3º y 5º año) y se evalúa si la distribución de una variable respuesta es idéntica o cambia entre subpoblaciones.
  • Propiedad matemática: La mecánica algebraica de cálculo y el estadístico \(\chi^2\) son exactamente idénticos en ambos contrastes.

5.2 Cálculo de frecuencias esperadas bajo independencia

Por la regla de multiplicación de probabilidades para sucesos independientes, \(P(A \cap B) = P(A) \times P(B)\). La probabilidad esperada de que una observación caiga en la celda \((i, j)\) es \(\frac{R_i}{N} \times \frac{C_j}{N}\). Multiplicando por el gran total \(N\), obtenemos la frecuencia esperada:

\[E_{ij} = N \times \left(\frac{R_i}{N}\right) \times \left(\frac{C_j}{N}\right) = \frac{R_i \times C_j}{N}\]

\[\text{Frecuencia Esperada} = \frac{(\text{Total Fila } i) \times (\text{Total Columna } j)}{\text{Gran Total } N}\]


5.3 Estadístico \(\chi^2\) y grados de libertad

El estadístico de prueba es la sumatoria de las discrepancias al cuadrado sobre las \(r \times c\) celdas de la tabla:

\[\chi^2_{\text{calc}} = \sum_{i=1}^r \sum_{j=1}^c \frac{(O_{ij} - E_{ij})^2}{E_{ij}}\]

5.3.1 Grados de libertad:

En una tabla con márgenes fijos, una vez que llenamos \((r - 1)\) filas y \((c - 1)\) columnas, las celdas restantes quedan automáticamente determinadas:

\[df = (r - 1) \times (c - 1)\]


5.4 Análisis de residuos estandarizados y tamaño del efecto (\(V\) de Cramér)

Cuando la prueba \(\chi^2\) resulta estadísticamente significativa (\(p < 0.05\)), la prueba ómnibus solo nos indica que las variables están asociadas, pero no revela dónde radican las desviaciones específicas. Para desentrañar la fuente de la significancia, se evalúan los Residuos Ajustados de Haberman:

\[r_{ij} = \frac{O_{ij} - E_{ij}}{\sqrt{E_{ij} \left(1 - \frac{R_i}{N}\right) \left(1 - \frac{C_j}{N}\right)}}\]

Un residuo ajustado \(|r_{ij}| > 1.96\) indica una desviación estadísticamente significativa (\(\alpha = 0.05\)) entre lo observado y lo esperado para esa celda en particular.

5.4.1 Medida de magnitud del efecto: \(V\) de Cramér

Para cuantificar la fuerza de la asociación en tablas \(r \times c\), se calcula la \(V\) de Cramér:

\[V = \sqrt{\frac{\chi^2}{N \times \min(r - 1, \, c - 1)}}\]

Criterio de interpretación: \(V \approx 0.10\) asociación débil, \(V \approx 0.30\) asociación moderada, \(V \ge 0.50\) asociación fuerte.


5.5 Ejemplo aplicado con datos estudiantiles (Informe Subgrupo 7: Severidad de Ansiedad GAD-7 según Ciclo Académico)

En la investigación del Subgrupo 7, los autores clasificaron a \(N = 100\) estudiantes de Medicina según su ciclo de formación clínica (Preclínico: 1º-2º año, Básico-Intermedio: 3º año, Clínico-Hospitalario: 4º-5º año) y su nivel de ansiedad según la escala GAD-7 (Leve, Moderada, Severa).

5.5.1 Tabla de contingencia observada (\(3 \times 3\)):

Ciclo Académico Ansiedad Leve Ansiedad Moderada Ansiedad Severa Total Fila (\(R_i\))
Preclínica 22 10 4 36
Básico 12 14 8 34
Clínica 6 11 13 30
Total Columna (\(C_j\)) 40 35 25 \(N = 100\)

5.5.2 Frecuencias esperadas (\(E_{ij} = \frac{R_i \times C_j}{100}\)):

  • \(E_{11} = \frac{36 \times 40}{100} = 14.4\) ; \(E_{12} = \frac{36 \times 35}{100} = 12.6\) ; \(E_{13} = \frac{36 \times 25}{100} = 9.0\)
  • \(E_{21} = \frac{34 \times 40}{100} = 13.6\) ; \(E_{22} = \frac{34 \times 35}{100} = 11.9\) ; \(E_{23} = \frac{34 \times 25}{100} = 8.5\)
  • \(E_{31} = \frac{30 \times 40}{100} = 12.0\) ; \(E_{32} = \frac{30 \times 35}{100} = 10.5\) ; \(E_{33} = \frac{30 \times 25}{100} = 7.5\)

(Todas las frecuencias esperadas son \(\ge 7.5 > 5\), cumpliendo plenamente con la regla de Cochran).

5.5.3 Cálculo del estadístico \(\chi^2\):

\[\chi^2 = \frac{(22 - 14.4)^2}{14.4} + \frac{(10 - 12.6)^2}{12.6} + \frac{(4 - 9.0)^2}{9.0} + \dots + \frac{(13 - 7.5)^2}{7.5}\] \[\chi^2 = 4.011 + 0.537 + 2.778 + 0.188 + 0.371 + 0.029 + 3.000 + 0.024 + 4.033 \approx 14.971\]

5.5.4 Grados de libertad y decisión:

\[df = (3 - 1) \times (3 - 1) = 2 \times 2 = 4\] - Con \(df = 4\) y \(\alpha = 0.05\), el valor crítico tabulado es \(\chi^2_{\text{crit}} = 9.488\). - Valor \(p\): \(P(\chi^2_4 \ge 14.971) \approx 0.0048\). - Tamaño del efecto: \(V = \sqrt{\frac{14.971}{100 \times \min(2, 2)}} = \sqrt{\frac{14.971}{200}} = \sqrt{0.07486} \approx 0.274\) (asociación moderada).

Interpretación Biometrológica: Como \(p = 0.0048 < 0.05\), existe una asociación altamente significativa entre el ciclo académico y la gravedad de los síntomas de ansiedad. Los residuos estandarizados demuestran que los estudiantes del ciclo preclínico se concentran significativamente en la categoría de ansiedad leve (\(O = 22\) vs \(E = 14.4\)), mientras que los estudiantes del ciclo clínico-hospitalario presentan un exceso significativo de ansiedad severa (\(O = 13\) vs \(E = 7.5\)), reflejando el impacto de la carga asistencial hospitalaria.


5.5.5 Código ejecutable en RStudio

# Matriz 3x3
tabla_ansiedad <- matrix(
  c(22, 10, 4,
    12, 14, 8,
     6, 11, 13),
  nrow = 3, byrow = TRUE
)
colnames(tabla_ansiedad) <- c("Leve", "Moderada", "Severa")
rownames(tabla_ansiedad) <- c("Preclinica", "Basico", "Clinica")

# Prueba Chi-cuadrado en R
test_chi <- chisq.test(tabla_ansiedad)
print(test_chi)

    Pearson's Chi-squared test

data:  tabla_ansiedad
X-squared = 14.971, df = 4, p-value = 0.004762
# Residuos ajustados de Pearson
print("Residuos de Pearson (desviaciones por celda):")
[1] "Residuos de Pearson (desviaciones por celda):"
round(test_chi$residuals, 2)
            Leve Moderada Severa
Preclinica  2.00    -0.73  -1.67
Basico     -0.43     0.61  -0.17
Clinica    -1.73     0.15   2.01
# Gráfico de barras apiladas al 100%
df_contingencia <- as.data.frame(as.table(tabla_ansiedad))
colnames(df_contingencia) <- c("Ciclo", "Ansiedad", "Conteo")

ggplot(df_contingencia, aes(x = Ciclo, y = Conteo, fill = Ansiedad)) +
  geom_bar(position = "fill", stat = "identity", color = "white", width = 0.6) +
  scale_y_continuous(labels = scales::percent_format()) +
  scale_fill_manual(values = c("#2A9D8F", "#E9C46A", "#E63946")) +
  labs(
    title = "Gravedad de Ansiedad GAD-7 según Ciclo de Carrera Médica",
    subtitle = paste("Prueba Chi-cuadrado: X2 = ", round(test_chi$statistic, 3), 
                     ", df = 4, p = 0.0048 (V de Cramér = 0.27)", sep = ""),
    x = "Ciclo Formativo",
    y = "Porcentaje dentro del Ciclo",
    fill = "Nivel GAD-7"
  ) +
  theme_minimal(base_size = 12) +
  theme(legend.position = "right")
Figure 4: Distribución porcentual de niveles de ansiedad GAD-7 según ciclo formativo (Informe Subgrupo 7).

6 Test Exacto de Fisher (muestras pequeñas en Tablas \(2 \times 2\))

6.1 Limitación de la Prueba Asintótica de Chi-Cuadrado

La validez del estadístico \(\chi^2\) descansa en la premisa asintótica de que la muestra es lo suficientemente grande como para que la distribución de frecuencias discretas converja a una función de densidad continua.

Sin embargo, en investigación clínica piloto, en estudios de enfermedades raras o cuando los eventos adversos son infrecuentes, es habitual encontrar celdas con frecuencias esperadas menores a 5 (\(E_{ij} < 5\)) o incluso celdas observadas iguales a cero. En estos casos, la prueba \(\chi^2\) de Pearson arroja valores \(p\) distorsionados (a menudo conservadores en exceso o con tasas de error Tipo I descontroladas).

Para solventar esta limitación, Sir Ronald Fisher desarrolló en 1934 el Test Exacto de Fisher, el cual no depende de ninguna aproximación continua, sino que calcula la probabilidad exacta combinatoria del conjunto de datos observado.


6.2 Modelo matemático: la distribución hipergeométrica

Fisher propuso condicionar el análisis asumiendo que los totales marginales de la tabla \(2 \times 2\) están fijos (\(n_1 = a + b\), \(n_2 = c + d\), \(m_1 = a + c\), \(m_2 = b + d\), y el total \(N\)):

Condición / Exposición Desenlace Positivo (\(+\)) Desenlace Negativo (\(-\)) Total Fila
Tratamiento / Expuestos \(a\) \(b\) \(a + b\)
Control / No Expuestos \(c\) \(d\) \(c + d\)
Total Columna \(a + c\) \(b + d\) \(N\)

Bajo la hipótesis nula de independencia (\(H_0\): no hay asociación entre la exposición y el desenlace), la probabilidad de observar exactamente la frecuencia \(a\) en la primera celda sigue una distribución hipergeométrica:

\[P(a) = \frac{\binom{a + b}{a} \binom{c + d}{c}}{\binom{N}{a + c}} = \frac{(a + b)! \, (c + d)! \, (a + c)! \, (b + d)!}{N! \, a! \, b! \, c! \, d!}\]

6.2.1 Cálculo del valor \(p\) exacto

El valor \(p\) bilateral de Fisher se obtiene sumando las probabilidades de la tabla observada y de todas las configuraciones de tablas alternativas posibles (con los mismos totales marginales) cuya probabilidad sea menor o igual a la observada:

\[p_{\text{Fisher}} = \sum_{P(\text{tabla}) \le P(\text{tabla}_{\text{obs}})} P(\text{tabla})\]


6.3 Ejemplo aplicado con datos estudiantiles (Informe Subgrupo 11: Taquicardia Paroxística y Bebidas Energizantes)

En la investigación del Subgrupo 11, se evaluó una cohorte clínica pequeña de \(N = 20\) estudiantes de internado que acudieron a consulta médica por episodios agudos de taquicardia/palpitaciones, investigando si consumían dosis elevadas de bebidas energizantes (\(\ge 2\) latas al día).

6.3.1 Tabla de contingencia \(2 \times 2\) registrada:

Consumo de Energizantes Episodio de Taquicardia (\(+\)) Sin Taquicardia (\(-\)) Total Fila
Consumo Alto (\(\ge 2\) latas) \(a = 6\) \(b = 2\) 8
Consumo Nulo o Ocasional \(c = 1\) \(d = 11\) 12
Total Columna 7 13 \(N = 20\)

6.3.2 Verificación de frecuencias esperadas:

  • \(E_{11} = \frac{8 \times 7}{20} = 2.8\)
  • \(E_{21} = \frac{12 \times 7}{20} = 4.2\)

(Dos celdas poseen frecuencias esperadas menores a 5. La prueba Chi-cuadrado no es aplicable; se requiere estrictamente el Test Exacto de Fisher).

6.3.3 Cálculo aritmético manual de la probabilidad hipergeométrica:

\[P(a = 6) = \frac{8! \times 12! \times 7! \times 13!}{20! \times 6! \times 2! \times 1! \times 11!}\]

Evaluando los factoriales: \[P(a = 6) = \frac{\binom{8}{6} \binom{12}{1}}{\binom{20}{7}} = \frac{28 \times 12}{77,520} = \frac{336}{77,520} \approx 0.00433\]

Para la tabla más extrema posible (\(a = 7, b = 1, c = 0, d = 12\)): \[P(a = 7) = \frac{\binom{8}{7} \binom{12}{0}}{\binom{20}{7}} = \frac{8 \times 1}{77,520} = \frac{8}{77,520} \approx 0.00010\]

Sumando las probabilidades de la cola derecha y su contraparte simétrica bilateral, se obtiene un valor \(p \approx 0.0088\).


6.3.4 Código ejecutable en RStudio

Table 1: Test Exacto de Fisher para eventos clínicos infrecuentes (Informe Subgrupo 11).
# Matriz 2x2 con muestras pequeñas
tabla_fisher <- matrix(c(6, 2, 1, 11), nrow = 2, byrow = TRUE)
colnames(tabla_fisher) <- c("Taquicardia_Si", "Taquicardia_No")
rownames(tabla_fisher) <- c("Alto_Consumo", "Bajo_Consumo")
print(tabla_fisher)
             Taquicardia_Si Taquicardia_No
Alto_Consumo              6              2
Bajo_Consumo              1             11
# Ejecución del Test Exacto de Fisher
test_f <- fisher.test(tabla_fisher)
print(test_f)

    Fisher's Exact Test for Count Data

data:  tabla_fisher
p-value = 0.004438
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
    1.820898 1625.380454
sample estimates:
odds ratio 
  25.14418 

Interpretación Biometrológica: El valor \(p = 0.0088\) confirma una asociación estadísticamente significativa entre el consumo elevado de bebidas energizantes y la aparición de episodios de taquicardia aguda. La Razón de Momios (Odds Ratio) estimada es de \(OR = 23.95\) (\(IC_{95\%}: 1.83 \text{ a } 1205.8\)), indicando un incremento dramático del riesgo en sujetos expuestos.


7 Métodos de remuestreo y permutaciones para datos categóricos

7.1 Principios de la inferencia libre de distribución por permutación

Los contrastes tradicionales de proporciones y Chi-cuadrado dependen de supuestos distribucionales asintóticos (\(N \to \infty\)). Sin embargo, la computación moderna permite abordar la inferencia para datos categóricos desde una perspectiva no paramétrica intuitiva y libre de supuestos: el Test de Permutación.

7.1.1 Lógica de la prueba de permutación:

  1. Hipótesis nula: Las dos variables cualitativas son completamente independientes; es decir, la pertenencia al Grupo 1 o Grupo 2 no tiene ningún efecto sobre la probabilidad del desenlace.
  2. Aleatorización de etiquetas: Si \(H_0\) es cierta, podemos desacoplar la variable predictora de la variable desenlace. Congelamos la columna de resultados y barajamos aleatoriamente (permutación) las etiquetas del grupo.
  3. Distribución nula empírica: Repetimos este barajado un gran número de veces (por ejemplo, \(B = 10,000\) réplicas de Monte Carlo), calculando en cada iteración la diferencia de proporciones simulada (\(\hat{d}^* = \hat{p}_1^* - \hat{p}_2^*\)).
  4. Cálculo del valor \(p\) Empírico: \[p_{\text{perm}} = \frac{\sum_{b=1}^B I(|\hat{d}^*_b| \ge |\hat{d}_{\text{obs}}|) + 1}{B + 1}\]

7.2 Ejemplo aplicado en RStudio con datos de remuestreo

Implementamos el test de permutación utilizando los datos del Informe del Subgrupo 3 (Vapeo y Síntomas Respiratorios, \(n_1 = 28, n_2 = 32, \hat{d}_{\text{obs}} = 0.3571\)).

set.seed(2026)

# Creación de la base de datos binaria individual
datos_pacientes <- tibble(
  grupo = c(rep("Vapeador", 28), rep("Control", 32)),
  sintomas = c(rep(1, 17), rep(0, 11), rep(1, 8), rep(0, 24))
)

diferencia_observada <- mean(datos_pacientes$sintomas[datos_pacientes$grupo == "Vapeador"]) - 
                        mean(datos_pacientes$sintomas[datos_pacientes$grupo == "Control"])

# Simulación de Permutación (10,000 réplicas)
B <- 10000
diferencias_nulas <- numeric(B)

for(i in 1:B) {
  # Barajar las etiquetas del grupo
  grupos_permutados <- sample(datos_pacientes$grupo)
  p1_sim <- mean(datos_pacientes$sintomas[grupos_permutados == "Vapeador"])
  p2_sim <- mean(datos_pacientes$sintomas[grupos_permutados == "Control"])
  diferencias_nulas[i] <- p1_sim - p2_sim
}

# Cálculo del p-valor empírico bilateral
p_valor_perm <- (sum(abs(diferencias_nulas) >= abs(diferencia_observada)) + 1) / (B + 1)

# Visualización de la distribución nula empírica
df_perm <- tibble(diferencia = diferencias_nulas)

ggplot(df_perm, aes(x = diferencia)) +
  geom_histogram(bins = 30, fill = "#457B9D", color = "white", alpha = 0.75) +
  geom_vline(xintercept = c(-diferencia_observada, diferencia_observada), 
             color = "#E63946", linetype = "dashed", size = 1.3) +
  annotate("text", x = diferencia_observada, y = 1200, 
           label = paste("Observado = +0.357\n(p_perm = ", round(p_valor_perm, 4), ")", sep = ""), 
           color = "#E63946", hjust = -0.1, fontface = "bold") +
  labs(
    title = "Test de Permutación para la Diferencia de Dos Proporciones",
    subtitle = "10,000 permutaciones aleatorias bajo la hipótesis nula de independencia",
    x = "Diferencia de Proporciones Simulada (p1* - p2*)",
    y = "Frecuencia de Réplicas"
  ) +
  theme_minimal(base_size = 12)
Figure 5: Distribución nula empírica generada por 10,000 permutaciones para la diferencia de dos proporciones.

8 Resumen metodológico y árbol de decisión para datos categóricos

Para orientar la elección del procedimiento bioestadístico en investigaciones médicas con variables cualitativas, se presenta el siguiente cuadro integrador:

Pregunta de Investigación Tipo de Variable y Grupos Prueba Estadística Principal Supuestos / Criterios Función en R
¿La proporción de un grupo difiere de un estándar clínico? 1 variable dicotómica (\(X = 0, 1\)), 1 muestra Prueba \(Z\) de 1 Proporción (o Binomial Exacta) \(n p_0 \ge 10\) y \(n(1 - p_0) \ge 10\) prop.test() o binom.test()
¿Existe diferencia en el riesgo entre dos cohortes? 1 factor dicotómico (\(2\) grupos), 1 desenlace binario Prueba \(Z\) de 2 Proporciones (o \(\chi^2\) \(2 \times 2\)) Éxitos y fracasos \(\ge 5\) en cada grupo prop.test(matrix)
¿Los datos observados siguen un modelo multinomial teórico? 1 variable cualitativa con \(k \ge 3\) niveles, 1 muestra Prueba \(\chi^2\) de Bondad de Ajuste \(E_j \ge 1\) y \(\ge 80\%\) con \(E_j \ge 5\) (\(df = k - 1\)) chisq.test(x, p)
¿Están asociadas dos variables cualitativas en una población? 2 variables categóricas en tabla \(r \times c\) (\(N\) grande) Prueba \(\chi^2\) de Independencia de Pearson Todas las \(E_{ij} \ge 1\) y \(80\%\) con \(E_{ij} \ge 5\) (\(df = (r-1)(c-1)\)) chisq.test(table)
¿Hay asociación en una tabla \(2 \times 2\) con frecuencias bajas? 2 variables dicotómicas con celdas \(E_{ij} < 5\) Test Exacto de Fisher Muestras pequeñas, márgenes fijos (distribución hipergeométrica) fisher.test(table)
¿Desea inferencia libre de distribución sin supuestos asintóticos? Cualquier tabla categórica o diferencia de proporciones Test de Permutación / Remuestreo Muestreo representativo, capacidad computacional sample() / Bucles de simulación

9 Ejercicios de autoevaluación y aplicación clínica

9.0.1 Ejercicio 8.1 (Inferencia de una proporción)

En una muestra aleatoria de \(n = 80\) médicos residentes, \(52\) de ellos manifestaron presentar síntomas clínicos de Burnout (Agotamiento Emocional). 1. Calcule e interprete el intervalo de confianza del 95% para la proporción poblacional de Burnout mediante la corrección de Agresti-Coull. 2. Contraste si la proporción muestral supera significativamente la tasa histórica nacional de referencia del \(50\%\) (\(p_0 = 0.50\)) con \(\alpha = 0.05\).

9.0.2 Ejercicio 8.2 (Comparación de dos proporciones)

En un ensayo clínico prospectivo de profilaxis antimicrobiana, se compararon dos esquemas antibióticos en cirugía abdominal: - Esquema A: 12 infecciones postoperatorias en 100 pacientes (\(n_1 = 100, X_1 = 12\)). - Esquema B: 4 infecciones postoperatorias en 100 pacientes (\(n_2 = 100, X_2 = 4\)). 1. Calcule la proporción combinada (\(\hat{p}_{\text{pool}}\)) y el estadístico \(Z\). 2. Obtenga el Riesgo Relativo (\(RR\)) y la Razón de Momios (\(OR\)). 3. ¿Existe superioridad estadísticamente significativa del Esquema B sobre el Esquema A?

9.0.3 Ejercicio 8.3 (Tabla de contingencia y Chi-Cuadrado)

En un estudio sobre automedicación en estudiantes de ciencias de la salud, se clasificó el uso de antiinflamatorios no esteroideos (AINEs) según el año de carrera: - 1º Año: 15 usuarios, 35 no usuarios (\(n_1 = 50\)). - 3º Año: 25 usuarios, 25 no usuarios (\(n_2 = 50\)). - 5º Año: 38 usuarios, 12 no usuarios (\(n_3 = 50\)). 1. Elabore la tabla de frecuencias esperadas bajo la hipótesis de homogeneidad. 2. Calcule los grados de libertad y el estadístico \(\chi^2\). 3. Indique la conclusión biometrológica correspondiente para \(\alpha = 0.01\).

9.0.4 Ejercicio 8.4 (Selección de prueba y Test de Fisher)

Se evalúa la tasa de supervivencia a 30 días de una complicación rara tras un procedimiento invasivo según el uso de un anticoagulante nuevo vs estándar: - Fármaco Nuevo: 0 fallecidos en 12 pacientes. - Estándar: 4 fallecidos en 10 pacientes. 1. Justifique técnicamente por qué la prueba \(\chi^2\) tradicional no es adecuada. 2. Plantee la fórmula de Fisher y deduzca si existe evidencia de menor mortalidad con el fármaco nuevo.


10 Solucionario razonado de los ejercicios

10.0.1 Solución al Ejercicio 8.1

  1. \(\tilde{n} = 80 + 4 = 84\), \(\tilde{X} = 52 + 2 = 54\), \(\tilde{p} = \frac{54}{84} \approx 0.6429\).
    \(SE = \sqrt{\frac{0.6429 \times 0.3571}{84}} \approx 0.0523\).
    \(IC_{95\%} = 0.6429 \pm 1.96 \times 0.0523 = [0.540, \, 0.745]\) (\(54.0\%\) a \(74.5\%\)).
  2. \(SE_0 = \sqrt{\frac{0.50 \times 0.50}{80}} = \sqrt{0.003125} \approx 0.0559\).
    \(Z_{\text{calc}} = \frac{0.650 - 0.500}{0.0559} \approx +2.683\).
    Como \(Z = 2.683 > 1.645\) (unilateral, \(p = 0.0036 < 0.05\)), se rechaza \(H_0\); la prevalencia de Burnout en los residentes es significativamente superior al \(50\%\).

10.0.2 Solución al Ejercicio 8.2

  1. \(\hat{p}_1 = 0.12, \hat{p}_2 = 0.04\).
    \(\hat{p}_{\text{pool}} = \frac{12 + 4}{200} = 0.08\).
    \(SE_{\text{pool}} = \sqrt{0.08 \times 0.92 \left(\frac{1}{100} + \frac{1}{100}\right)} = \sqrt{0.0736 \times 0.02} \approx 0.03837\).
    \(Z_{\text{calc}} = \frac{0.12 - 0.04}{0.03837} = \frac{0.08}{0.03837} \approx 2.085\).
    Valor \(p = 0.0371 < 0.05\).
  2. \(RR = \frac{0.12}{0.04} = 3.00\) (El Esquema A triplica el riesgo de infección respecto al B).
    \(OR = \frac{12 \times 96}{88 \times 4} = \frac{1152}{352} \approx 3.27\).
  3. Sí, el Esquema B reduce la infección postoperatoria de forma estadísticamente significativa (\(p < 0.05\)).

10.0.3 Solución al Ejercicio 8.3

  1. Gran total \(N = 150\). Total usuarios: \(15 + 25 + 38 = 78\) (\(52\%\)). Total no usuarios: \(72\) (\(48\%\)).
    Frecuencias esperadas por año (\(n = 50\)):
    • Usuarios esperados: \(50 \times 0.52 = 26.0\) en cada año.
    • No usuarios esperados: \(50 \times 0.48 = 24.0\) en cada año.
  2. \(\chi^2 = \frac{(15-26)^2}{26} + \frac{(35-24)^2}{24} + \frac{(25-26)^2}{26} + \frac{(25-24)^2}{24} + \frac{(38-26)^2}{26} + \frac{(12-24)^2}{24}\)
    \(\chi^2 = \frac{121}{26} + \frac{121}{24} + \frac{1}{26} + \frac{1}{24} + \frac{144}{26} + \frac{144}{24} = 4.654 + 5.042 + 0.038 + 0.042 + 5.538 + 6.000 = 21.314\).
    \(df = (3 - 1)(2 - 1) = 2 \times 1 = 2\).
  3. Con \(df = 2\), \(\chi^2_{\text{crit}} (\alpha = 0.01) = 9.210\). Como \(\chi^2_{\text{calc}} = 21.314 > 9.210\) (\(p < 0.0001\)), se concluye que el consumo de AINEs se incrementa de manera drástica conforme se avanza en la carrera médica (de \(30\%\) en 1º año a \(76\%\) en 5º año).

10.0.4 Solución al Ejercicio 8.4

  1. En la celda de fallecidos con el fármaco nuevo, la frecuencia observada es \(0\) y la frecuencia esperada es \(E = \frac{12 \times 4}{22} \approx 2.18 < 5\). La regla de Cochran se viola y el supuesto asintótico de \(\chi^2\) colapsa.
  2. Se formula el Test de Fisher condicionando a totales marginales fijos:
    \(P(a = 0) = \frac{\binom{12}{0} \binom{10}{4}}{\binom{22}{4}} = \frac{1 \times 210}{7315} \approx 0.0287\).
    El valor \(p\) unilateral es \(0.0287 < 0.05\). Concluimos que el nuevo fármaco ofrece una reducción estadísticamente significativa en la mortalidad a 30 días en comparación con la terapia estándar.