如何使用 survreg 模型预测特定时间点的生存率?

Posted

技术标签:

【中文标题】如何使用 survreg 模型预测特定时间点的生存率?【英文标题】:How to predict survival at certain time points, using a survreg model? 【发布时间】:2021-06-02 21:29:39 【问题描述】:

数据

library(survival)
kidney

型号

model = survreg(Surv(time, censored) ~ sex + age, data = kidney)

Call:
survreg(formula = Surv(time, censored) ~ sex + age, data = kidney)

Coefficients:
(Intercept)   sexfemale         age 
 8.44411429 -0.89481679 -0.02170266 

Scale= 1.653512 

Loglik(model)= -122.1   Loglik(intercept only)= -122.7
    Chisq= 1.21 on 2 degrees of freedom, p= 0.547 
n= 76 

我如何预测两个性别在多个时间点(例如 30、90、182 天)的存活率(加上 95% CI)?

在不同的尺度上(例如原始时间尺度、概率)有什么技巧吗?

示例代码或示例将不胜感激。

【问题讨论】:

这个 Stack Exchange 答案可能会有所帮助:stats.stackexchange.com/a/159146 【参考方案1】:

您可以使用survminer 包。示例:

library(survival)
library(survminer)

f1 <- survfit(Surv(time, status) ~ sex, data = kidney)

res.sum <- surv_summary(f1, data = kidney)

# define desired time points
times <- c(30, 90, 182)

summary(f1,times)

【讨论】:

谢谢!如果您将“年龄”添加为协变量,这将为性别和所有年龄提供预测。有可能在平均/中位年龄时获得两性的预测值吗? 在我看来:您需要的是 cox 回归。在这里,您可以拟合具有多个变量的模型。通过这些系数,您可以预测年龄和性别对所需时间点生存的影响。在我看来,通过一项 Kaplan Meier 分析,不可能预测两个变量对生存的影响。这是一个新问题。请接受此答案(如果它解决了您的第一个问题)并开始一个新问题,并扩展此答案。

以上是关于如何使用 survreg 模型预测特定时间点的生存率?的主要内容,如果未能解决你的问题,请参考以下文章

如何绘制survreg生成的生存曲线(R的包生存)?

用survreg()和gsurvplot()绘制生存分析置信区间。

R语言构建生存分析(survival analysis)模型示例

R数据分析:生存数据的预测模型建立方法与评价

R数据分析:生存数据预测模型的建立和评价timeROC与决策曲线

从 survreg 解释 Weibull 参数