добавить точечный доверительный интервал к прогнозу графика кривой выживания - PullRequest
0 голосов
/ 25 мая 2019

У меня есть набор данных пациентов в списке ожидания для пересадки органа.Событие - это время смерти.Набор содержит следующие переменные: PatientID, время, статус, возраст, пол, BMI, болезнь.Я сделал модель времени выживания пациента в списке ожидания в зависимости от возраста, пола, bmi и заболевания ковариат, используя модели времени ускоренного отказа, в которых базовое распределение было задано логнормальным распределением.

fitLog <- survreg(Surv(time, status)~age+gender+bmi+disease, dist = "lognormal", data = patients)

Теперь мне нужно дать прогноз кривой выживаемости для мужчины, больного фиброзом (болезнь = 2), в возрасте 60 лет и bmi 23 года, и мне также нужно добавить точечный доверительный интервал к этомукривая.

new_data <- with(patients, data.frame(gender = c(1),
                                  age = c(60),
                                  bmi = c(23),
                                  disease = c(2)))

plot(predict(fitLog, newdata=new_data, type="quantile", p=seq(.01,.99,by=.01)), seq(.99,.01,by=-.01), col="red", type="l", xlab = "Time (days)", ylab = "Survival probability (%)", main="Survival time")

Поэтому, когда я запускаю этот код, я получаю свою модель прогнозирования, но теперь мне нужно добавить точечный доверительный интервал к этому графику.Как мне это сделать?Я уже попробовал conf.type, но ничего не сделал.

Редактировать: я использовал следующий код для вычисления и построения доверительных интервалов:

pred <- predict(fitLog, newdata=new_data, 
type="quantile",p=seq(.01,.99,by=.01), se=TRUE)

plot(pred$fit - 1.96*pred$se.fit, seq(.99,.01,by=-.01),col="red", type="l", 
lty=2, xlab = "Time (days)", ylab = "Survival probability (%)", 
main="Survival time")

lines(pred$fit + 1.96*pred$se.fit,seq(.99,.01,by=-.01),col="red", type="l", 
lty=2)

lines(predict(fitLog, newdata=new_data, 
type="quantile",p=seq(.01,.99,by=.01)),seq(.99,.01,by=-.01),col="red", 
type="l")

Так что теперь я могу построить графикдоверительный интервал, но теперь вопрос в том, как заставить пунктирную линию продолжаться до конца наблюдения?

изображение сюжета

...