我希望将这两个地块集中在一个地块上。这将使我能够在视觉上评估分布的拟合优度的同时,检查长期存活率如何演变。
你能帮帮我吗?

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)

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="")发布于 2019-12-22 06:30:46
我可以想象有很多不同的想法,但这里有一个简单的方法,如果它有帮助的话。
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))编辑(9/20/21):对于survminer包中的bug,bc数据中的“”需要是字符,而不是一个因子。在修复之前,可以执行以下操作来重现绘图:
bc$group <- as.character(bc$group)

https://stackoverflow.com/questions/59435385
复制相似问题