Estructura de datos y función para datos de eventos recurrentes con variables dependientes del tiempo


9

Estoy tratando de estimar el efecto de 2 medicamentos ( drug1, drug2) en la probabilidad de que un paciente se caiga ( event). Los pacientes pueden caerse más de una vez y pueden ser quitados o quitados de las drogas en cualquier momento.

Mi pregunta es cómo deben estructurarse los datos con respecto al período de tiempo (días), específicamente si es necesario que se superpongan entre los días. Hay dos razones por las que creo que mi estructura es incorrecta, la primera es aparentemente incorrecta N. También recibo algunos errores donde el período de tiempo es un solo día (es decir time1=4, time2=4) y no estoy seguro de cómo deben codificarse. ¿La hora de inicio de las entradas posteriores debe ser la hora de finalización de la entrada anterior? Lo he intentado en ambos sentidos (con y sin superposición), y aunque la superposición elimina la advertencia, Nsigue siendo incorrecta.

Warning message:
In Surv(time = c(0, 2, 7, 15, 20, 0, 18, 27, 32, 35, 39, 46, 53,  :
  Stop time must be > start time, NA created

En este momento tengo la configuración de datos donde el comienzo de la próxima entrada es el día siguiente. Los pacientes únicos se identifican por sus chart numbers.

Time1    Time2    Drug1    Drug2   Event    ChartNo
    0        2        1        0       0        123
    3       10        1        1       1        123
   11       14        1        1       1        123
    0       11        0        1       0        345
    0       19        1        0       1        678
    0        4        0        1       0        900
    5       18        1        1       0        900

El paciente 123 estaba en el fármaco 1 al comienzo del día 2, después de lo cual se había agregado el fármaco 2. Pasaron del día 3 al día 10 con ambas drogas antes de caer por primera vez, luego cayeron por segunda vez el día 14 mientras todavía tomaban ambas drogas. El paciente 345 pasó 11 días con el fármaco2 sin caerse (luego fue censurado), etc.

La estimación real se ve así:

S <- Srv(time=time1, time2=time2, event=event)
cox.rms <- cph(S ~ Drug1 + Drug2 + cluster(ChartNo), surv=T)

Mi principal preocupación es que nse informa que para mi análisis es 2017(el número de filas en los datos), cuando en realidad solo tengo 314pacientes únicos. No estoy seguro de si esto es normal o el resultado de algún error que he cometido en el camino.

> cox.rms$n
Status
No Event    Event 
    1884      133 

Lo mismo es cierto cuando se usa coxph()desde el paquete de supervivencia.

 n= 2017, number of events= 133

Sin embargo, el número de eventos es correcto.

Esta publicación parece tener configurada con la 'superposición' que describí, pero no estoy seguro acerca de la N, y no parecen estar agrupados ID.


El +cluster(ChartNo)término debe ocuparse de la preocupación de las observaciones repetidas. Un enfoque alternativo sería agregar + (1|subject)a un análisis coxme :: coxme.
DWin

Respuestas:


1

Sus formatos de datos son correctos.

Tiene múltiples registros por paciente debido a eventos recurrentes y la complejidad adicional de que el medicamento es una covariable que varía con el tiempo. La salida que imprimió utilizando heades útil para comprender estos datos.

El enfoque típico para analizar eventos recurrentes, así como covariables que varían en el tiempo, es formatear los datos para que estén en un formato "largo" donde cada fila represente un intervalo de observaciones de riesgo-covariable. Por ejemplo, vemos que el paciente 123 toma el medicamento 1 solo del tiempo 0 al tiempo 2, luego cambia para tomar el medicamento 1 y el medicamento 2 del tiempo 3. En ese momento, no habían experimentado una caída, por lo que su observación de 0-2 está censurado en ese momento porque no sabemos cuánto tiempo más duraría su caída si continuaran tomando el Medicamento 1 solo. En el momento 3, vuelven a ingresar en la cohorte codificada como paciente que toma ambos medicamentos durante 7 unidades de tiempo, después de lo cual experimentan su primera caída. Experimentan una segunda caída en la misma combinación de drogas solo 4 unidades de tiempo después.

El número de registros no es un resumen útil de los datos de la cohorte. No es sorprendente que el número de filas sea mucho mayor que el número de pacientes. En cambio, sume los tiempos de principio a fin y regístrelos como una cantidad de tiempo de persona en riesgo. El denominador de cohorte es útil para comprender la incidencia. También es útil resumir el número bruto de pacientes, pero tenga en cuenta que los datos están en formato "largo", por lo que es menor que el número de filas en su conjunto de datos.

Para el error, creo que puede necesitar agregar 1 unidad a la fecha de "detención". Si el paciente 123 toma el medicamento 1 durante los días 0, 1 y 2 y luego comienza el medicamento 2 en el día 3, entonces experimentaron 3 días de riesgo de caídas en el medicamento 1. Sin embargo, 2-0 = 2 y eso no es lo correcto denominador.

Lo que hace el argumento "cluster" (típicamente) es imponer una fragilidad, que es un tipo de intercepción aleatoria que explica lo que pueden ser diferencias de riesgo proporcionales atribuibles a varios factores de riesgo no medidos. No suelo realizar análisis con fragilidades. Puede omitir el comando "clúster" e interpretar los resultados como índices de incidencia. Puede ajustar alternativamente el modelo de Cox para el tiempo hasta la primera caída en todos los pacientes e interpretar las razones de riesgo como razones de riesgo. Creo que el resultado de la fragilidad debería estar entre estos dos, y nunca he tenido muy claro cuál debería ser la interpretación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.