2 votos

Análisis de supervivencia en R, utilizando coxph para predecir el número de eventos en un tiempo determinado

He estado siguiendo cierta documentación/tutoriales sobre el análisis de supervivencia en R. En particular https://cran.r-project.org/web/packages/survival/survival.pdf . Necesito una ligera modificación de un método en este tutorial. En la sección 3.1 analizan los eventos repetidos en niños con enfermedad granulomatosa crónica utilizando el conjunto de datos CDG. Ajustan un modelo de Andersen-Gill de la siguiente manera:

cfit2 <- coxph(Surv(tstart, tstop, status) ~ treat + 
                 inherit + age + strata(hos.cat), data=cgd)

y, a continuación, predecir las curvas de supervivencia y de riesgo acumulado para 4 sujetos hipotéticos en una cuadrícula de la siguiente manera:

dummy <- expand.grid(age=c(6,12), inherit='X-linked', 
                       treat=levels(cgd$treat))
csurv <- survfit(cfit2, newdata=dummy)

se puede entonces trazar la supervivencia o el peligro acumulado frente al tiempo, según sea necesario.

Me gustaría hacer algo ligeramente diferente. Me gustaría encontrar el valor del peligro acumulado para un tema específico en un momento específico en lugar de para todos los momentos. La información que necesito viene dada por lo anterior, pero se da junto a mucha otra información redundante (es decir, el peligro acumulado en todos los demás momentos). ¿Cómo puedo evitar una predicción para todos los momentos y generar sólo una predicción para un momento específico?

1voto

Rootless17b Puntos 48

Puede obtener estimaciones de supervivencia para los 4 sujetos hipotéticos en momentos específicos desde su objeto csurv.

summary(csurv, time = c(1,2,3,4))

le dará las estimaciones de supervivencia en el punto de tiempo 1 2 3 y 4 . Calculando la supervivencia 1 se puede obtener el riesgo acumulado en el punto de tiempo 1 2 3 y 4 .

Un alternativa sería obtener los valores manualmente del objeto csurv.

csurv$cumhaz[csurv$time == 1]

0voto

Como se ha dicho en los comentarios, he acabado utilizando el método que da @Rootless17b. No creo que sea la respuesta que buscaba (véase el comentario) pero, no obstante, funcionó. Hace poco me topé con Gerds et al. riskRegression y en particular el paquete predictCox función. No lo he explorado en profundidad pero creo que esto hace lo que quería.

Referencias: https://cran.r-project.org/web/packages/riskRegression/riskRegression.pdf https://github.com/tagteam/riskRegression

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X