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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用survreg()和gsurvplot()绘制生存分析置信区间。相关的知识,希望对你有一定的参考价值。

是否可以在用gsurvplot_df()创建的生存分析的可视化中加入置信区间?我找了几个小时才找到答案,但没有找到任何关于为 "survreg "类对象添加置信区间的内容。

我创建了一系列生存曲线,按2个因素类协变量分解。URM状态(urm或非urm)和角色(商业、技术(非eng)和工程),从而创建了6条总曲线。一切看起来都很好,但我想加入置信区间,以帮助解释合理的群体差异和归结为预测错误的小差异。

我试着在ggsurvplot_df()调用中加入conf.int = TRUE和其他各种版本,但我总是收到错误信息。

Error in unit(x, default.units) : 'x' and 'units' must have length > 0

我不知道这意味着什么... ...

请看下面我创建的没有置信区间的图的代码。

library(survival)
library(survminer)
library(reshape2)

wb_curve <- survreg(Surv(tenure, terminated) ~ role_type + urm, data = data) #including covariates urm and role_type

newdat <- expand.grid(role_type = levels(data$role_type),
                      urm = levels(data$urm))

time_point <- predict(wb_curve, type = "quantile", p = (1 - surv_prob), newdata = newdat)

surv_wbcurve_wide <- cbind(newdat, time_point)

surv_wbcurve_long <- melt(surv_wbcurve_wide, id.vars = c("role_type", "urm"), variable.name = "surv_id", value.name = "time")


surv_wbcurve_long$surv <- surv_prob[as.numeric(surv_wbcurve_long$surv_id)]
surv_wbcurve_long[, c("upper", "lower", "std.err", "strata")] <- NA

# visualize new survival curves
weibull_curve_plot <- ggsurvplot_df(surv_wbcurve_long, 
                                    surv.geom = geom_line, 
                                    linetype = "urm", 
                                    color = "role_type", 
                                    legend.title = NULL,
                                    xlab = "Tenure (Months)",
                                    surv.scale = "percent",
                                    xlim = c(0, 120),
                                    break.time.by = 24)
weibull_curve_urm_role #print chart

这是我的可视化结果Survival Curve

以上是关于用survreg()和gsurvplot()绘制生存分析置信区间。的主要内容,如果未能解决你的问题,请参考以下文章

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

从 survreg 解释 Weibull 参数

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

python-pygame实现飞机大战-5-屏幕渲染绘制分数生命数超级炸弹数以及暂停功能

UML几种图的绘制

【R】热图绘制