Tutorial
Reg Condicional vs Reg Cox
Este tutorial explica de forma práctica cuándo usar regresión logística condicional
y cuándo usar regresión de Cox en R. Incluye simulaciones, ajuste de modelos y
una demostración de equivalencia matemática para datos emparejados con estratos.
Descripción
clogit() se usa para estudios de casos y controles emparejados, donde cada caso
se compara con su control dentro de un mismo estrato.
coxph() se usa en análisis de supervivencia, cuando interesa modelar el tiempo
hasta un evento y su relación con covariables.
Cuándo usar cada modelo
- Usa clogit() si no tienes tiempo de seguimiento y hay emparejamiento por estratos.
- Usa coxph() si el tiempo hasta evento es parte central de la pregunta.
- Ambos pueden conectarse matemáticamente en escenarios de riesgo emparejado.
- El método exacto en Cox permite recuperar la formulación condicional.
Ejemplo con regresión condicional
library(survival)
set.seed(123)
n_parejas <- 100
id_pareja <- rep(1:n_parejas, each = 2)
estado <- rep(c(1, 0), times = n_parejas)
exposicion <- ifelse(
estado == 1,
rbinom(n_parejas, 1, 0.7),
rbinom(n_parejas, 1, 0.3)
)
datos_clogit <- data.frame(id_pareja, estado, exposicion)
modelo_clogit <- clogit(
estado ~ exposicion + strata(id_pareja),
data = datos_clogit
)
Demostración de equivalencia
datos_clogit$tiempo_falso <- 1
modelo_cox_equivalente <- coxph(
Surv(tiempo_falso, estado) ~ exposicion + strata(id_pareja),
data = datos_clogit,
method = "exact"
)
coef(modelo_clogit)
coef(modelo_cox_equivalente)
En este escenario, ambos coeficientes coinciden porque el problema de
riesgo condicional y el de casos-control estratificado comparten la misma base.
Nota metodológica
Si tu objetivo es inferencia causal o predictiva en cohortes con tiempo de seguimiento,
Cox es el marco natural. Si trabajas con diseño emparejado sin tiempo explícito,
la regresión condicional es la opción más directa e interpretable.