También estoy trabajando con datos que implican la inclusión de una covariable variable en el tiempo.
Empezaré esta respuesta con un ejemplo que utilizaré en todo momento. Supongamos que tenemos un estudio longitudinal en el que hay dos tratamientos disponibles, el tratamiento y el no tratamiento. Los participantes en el estudio pueden pasar libremente de uno a otro. El suceso de interés se llamará event
.
En primer lugar, los datos deben tener un formato largo, lo que significa que cada ID o asunto tiene varias filas de información.
ID Treatment Start Stop Event
1 0 01/01/2002 01/02/2002 0
1 0 01/02/2002 01/03/2002 0
1 1 01/03/2002 01/04/2002 0
1 0 01/04/2002 01/05/2002 1
2 0 01/01/2002 01/02/2002 0
2 1 01/02/2002 01/03/2002 1
También parto de la base de que hay fechas de inicio y fin registradas para cada intervalo de tratamiento.
R tiene un comando en el paquete survival
que crea tiempos de arranque y parada adecuados. Surv
los objetos no toman vectores de clase Date. El comando se llama tmerge
https://cran.r-project.org/web/packages/survival/vignettes/timedep.pdf
Este artículo de Therneau presenta un ejemplo completo de cómo utilizar este comando para crear un marco de datos variable en el tiempo. Esto creará tiempos numéricos de inicio y fin para los intervalos de tratamiento, normalmente llamados tstart
y tstop
.
Una vez que tenga los datos listos, el paquete que debe utilizar es la regresión de Cox normal: coxph()
.
En lugar de poner una variable temporal en el Surv
parte, pones dos:
coxph(Surv(tstart, tstop, event) ~ ., data=data))
Dónde .
son todas las covariables, pero se pueden introducir por selección.
Esto es lo que he utilizado para analizar datos variables en el tiempo. Si alguien quiere ampliar la información, se lo agradecería, ya que no soy un experto.