首页 > 解决方案 > 在 KM ggsurvplot 上绘制“扩展”预测生存率

问题描述

我想把这两个地块聚集在一个地块上。这将使我能够检查长期生存如何演变,同时直观地评估分布的拟合优度。

你能帮助我吗?

当前 KM 与 flexsurvreg

library(survminer)
require(flexsurv)
data(bc)

su_obj <- Surv(bc$rectime, bc$censrec)

fit_0 <- do.call(flexsurvreg, list(formula =su_obj~group, data = bc, dist = "exponential"))

ggsurvplot(fit_0)

基于 flexsurvreg 的延长预测生存期

time_0 = 5000

survival_ext = summary(fit_0, type = "survival",t=1:time_0)

survival_ext = as.data.frame(survival_ext)

survival_ext = survival_ext[,grep(".est", names(survival_ext))]

survival_ext = cbind(1:time_0, survival_ext)

names(survival_ext)[1]="time"

survival_ext = reshape2::melt(survival_ext,id="time") 

ggplot(survival_ext,aes(x=time, y=value, color=variable)) +
  geom_line() +
  labs(x="Time",
       y="Survival probability",
       color="")

标签: rggplot2visualizationsurvival

解决方案


我想对此有很多不同的想法,但如果有帮助,这里有一种简单的方法。

fit_0_obj <- ggsurvplot(fit_0)

ggplot(survival_ext,aes(x=time, y=value, color=variable)) +
  geom_line() +
  labs(x="Time",
       y="Survival probability",
       color="") +
  geom_step(data = fit_0_obj$data.survplot, aes(x=time, y=surv, color=group))

编辑(21 年 9 月 20 日):由于包中有错误survminerbc 数据中的“组”需要是字符而不是因素。在修复之前,您可以执行以下操作来重现情节:

bc$group <- as.character(bc$group)

生存曲线


推荐阅读