Analyzing Dichotomous Data in R
Analizando Datos Dicotómicos en R
Ante cualquier solicitud, primero identifica: (1) la(s) variable(s) dicotómica(s), (2) si hay variable de agrupación/comparación, (3) el objetivo del plan de tesis, (4) el tamaño de muestra disponible.
Rlibrary(dplyr) library(ggplot2) # 1. Estructura y limpieza str(datos) datos <- datos %>% mutate(variable = factor(variable, levels = c(0,1), labels = c("No","Sí"))) # 2. Descriptivo básico datos %>% count(variable) %>% mutate(prop = n / sum(n), pct = round(prop*100,1)) # 3. Visualización ggplot(datos, aes(x = variable)) + geom_bar(aes(y = after_stat(count)/sum(after_stat(count)))) + labs(y = "Proporción", x = NULL, title = "Distribución de la variable") + theme_minimal() # 4. Inferencial (ejemplo: comparación de proporciones) tabla <- table(datos$grupo, datos$variable) chisq.test(tabla) prop.test(x = tabla[,"Sí"], n = rowSums(tabla))
Progreso a seguir en cada análisis:
- Paso 1 — Contextualizar: leer el objetivo/hipótesis del plan de tesis; identificar variable(s) dependiente(s) dicotómica(s) e independiente(s).
- Paso 2 — Limpiar datos: recodificar con
dplyr, tratar NA, verificar niveles de factor, eliminar duplicados/errores de captura. - Paso 3 — Descriptivo: frecuencias absolutas y relativas, IC 95% para la proporción (
prop.testobinom.test). - Paso 4 — Visualizar: gráfico de barras de proporciones con
ggplot2(nunca gráfico de torta para comparaciones). - Paso 5 — Verificar supuestos: tamaño de muestra mínimo (regla de 5 esperados por celda para chi-cuadrado), independencia de observaciones, evitar normalidad (no aplica a datos binarios; en su lugar validar condiciones de la prueba elegida).
- Paso 6 — Elegir prueba inferencial según diseño:
Diseño Prueba Una proporción vs valor teórico binom.testDos grupos independientes prop.testochisq.test(usarfisher.testsi celdas esperadas < 5)Muestras pareadas mcnemar.testAsociación con var. continua/varias covariables regresión logística glm(family = binomial)Más de 2 grupos independientes chisq.testcon tabla k×2 - Paso 7 — Ejecutar prueba y extraer estadístico, gl, p-valor, IC 95% (y OR/RR si aplica).
- Paso 8 — Reportar con lenguaje claro: qué se probó, resultado numérico, decisión (rechazo/no rechazo de H0 a α especificado), interpretación práctica sin sobregeneralizar.
Ejemplo 1: Comparación de dos grupos Input: "¿La proporción de pacientes con complicación difiere entre el grupo tratado y el control? n=40 por grupo." Output:
Rtabla <- table(datos$grupo, datos$complicacion) chisq.test(tabla, correct = FALSE)
"Se aplicó chi-cuadrado de independencia (todas las celdas esperadas > 5). χ²(1) = 4.82, p = 0.028. Se rechaza H0 al 5%: existe asociación estadísticamente significativa entre el grupo y la ocurrencia de complicación. Proporción tratado: 15% (IC95%: 6.7–29.8%) vs. control: 35% (IC95%: 20.6–52.6%)."
Ejemplo 2: Muestra pequeña con celdas esperadas < 5
Input: "Tabla 2x2 con n=18 total, una celda esperada = 3.2"
Output: "El supuesto de chi-cuadrado no se cumple (celda esperada < 5). Se usa fisher.test(tabla) en su lugar: OR = 2.4 (IC95%: 0.4–15.1), p = 0.31. No hay evidencia suficiente de asociación con este tamaño de muestra; se recomienda ampliar la muestra antes de concluir."
Ejemplo 3: Regresión logística Input: "¿La edad y el sexo predicen la presencia de la enfermedad (0/1)?" Output:
Rmodelo <- glm(enfermedad ~ edad + sexo, data = datos, family = binomial) summary(modelo) exp(cbind(OR = coef(modelo), confint(modelo)))
"Por cada año adicional de edad, el OR de presentar la enfermedad es 1.06 (IC95%: 1.01–1.12, p=0.02), ajustado por sexo. El sexo no resultó significativo (p=0.41)."
- Reportar siempre n, proporciones con IC 95%, estadístico de prueba, gl, p-valor exacto (no solo "p<0.05").
- Verificar el supuesto de celdas esperadas ≥5 antes de usar chi-cuadrado; si no se cumple, usar Fisher exacto.
- Para muestras pareadas (mismo sujeto, dos mediciones), usar McNemar, no chi-cuadrado estándar.
- Fijar α antes del análisis (usualmente 0.05) y mantenerlo consistente en toda la tesis.
- Presentar OR/RR con su IC 95% junto al p-valor; el IC aporta información sobre magnitud y precisión que el p-valor solo no da.
- Usar
set.seed()si se hacen simulaciones o bootstrap para reproducibilidad. - Acompañar cada tabla con un gráfico de barras de proporciones (
ggplot2), etiquetado con ejes y título claros. - Validar independencia de las observaciones desde el diseño del estudio, no solo estadísticamente.
- No usar prueba t o ANOVA sobre variables dicotómicas tratándolas como continuas.
- No aplicar chi-cuadrado con celdas esperadas <5 sin corrección de Fisher.
- No confundir significancia estadística con relevancia clínica/práctica: siempre contextualizar el tamaño del efecto.
- No omitir el IC de la proporción o del OR/RR al reportar.
- No sobreinterpretar un p-valor no significativo como "no hay diferencia" — es "no hay evidencia suficiente para detectar diferencia" con esa muestra.
- No usar gráficos de pastel para comparar proporciones entre grupos; preferir barras.
- No ignorar el diseño de muestreo (pareado vs. independiente) al elegir la prueba.