0

我有一组等待器官移植的患者数据集。事件是死亡时间。该集合包含以下变量:患者ID、时间、状态、年龄、性别、体重指数、疾病。我通过使用加速故障时间模型制作了一个等待名单上患者的生存时间模型,它作为协变量年龄、性别、bmi 和疾病的函数,其中基线分布由对数正态分布给出。

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

现在,我需要对 60 岁且 bmi 为 23 的男性纤维化(疾病 = 2)患者的生存曲线进行预测,并且我还需要在该曲线上添加逐点置信区间。

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")

所以现在我可以绘制置信区间了,但现在的问题是如何让虚线一直持续到跟进结束?

情节图像

4

0 回答 0