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.