r - 在 KM ggsurvplot 上绘制“扩展”预测生存率
问题描述
我想把这两个地块聚集在一个地块上。这将使我能够检查长期生存如何演变,同时直观地评估分布的拟合优度。
你能帮助我吗?
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="")
解决方案
我想对此有很多不同的想法,但如果有帮助,这里有一种简单的方法。
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 日):由于包中有错误,survminer
bc 数据中的“组”需要是字符而不是因素。在修复之前,您可以执行以下操作来重现情节:
bc$group <- as.character(bc$group)
推荐阅读
- c++ - 将 Float32 转换为 Float16
- sql - Left Join with same table and group by 以相反的顺序返回重复的元组
- c# - 如何正确验证 WPF Datagrid 行?
- linux-kernel - 如何在linux/tools/virtio/virtio_test下编译运行virtio_test
- rspec - 无法让 shared_contexts 在 rspec 3.9.0 / rspec-rails 4 中工作
- c - C中的套接字TCP / IP传递文件并使用凯撒密码
- r - 如何根据不同列中行下方的行中的值创建列
- reactjs - 使用样式组件中的道具更改内部 HTML
- json - AWS SageMaker SparkML Schema Eroor:member.environment' 未能满足约束
- reactjs - ReactJs 设置背景图片