Cha*_*LDN 2 r survival-analysis
如何对 Kaplan-Meier 生存曲线下的区域进行阴影或填充?
让我们用 R 画一个最小的工作示例:
library (survival)
fit2 <- survfit(Surv(entry, futime, death) ~1, myeloma)
plot (fit2, conf.int = FALSE)
abline (v = 3650, col = "blue")
Run Code Online (Sandbox Code Playgroud)
我想对 0 到 3650 天(10 年)之间的曲线下区域进行着色或填充。我知道当有两个带有 survRM2 软件包的手臂时如何执行此操作,但我无法弄清楚何时只有一个手臂。我想表示受限平均生存率,我可以使用以下几行轻松计算它:
survival:::survmean (fit2, rmean = 3650)
$matrix
records n.max n.start events rmean se(rmean) median 0.95LCL 0.95UCL
3882.00000 2387.00000 2194.00000 2769.00000 1108.22471 19.62718 764.00000 728.00000 811.00000
$end.time
[1] 3650
Run Code Online (Sandbox Code Playgroud)
Base R 或 ggplot2 解决方案都受欢迎。
先感谢您。
查尔斯
使用基本 R,您可以使用以下命令填充曲线下的区域polygon:
library(survival)
fit2 <- survfit(Surv(entry, futime, death) ~ 1, myeloma)
plot(fit2, conf.int = FALSE)
abline(v = 3650, col = "blue")
time <- fit2$time[fit2$time <= 3650]
surv <- fit2$surv[fit2$time <= 3650]
polygon(
c(min(time), time, max(time)),
c(0, surv, 0),
col = "blue", border = F
)
Run Code Online (Sandbox Code Playgroud)

或者使用ggplot2and ageom_area你可以这样做:
library(ggplot2)
dat <- data.frame(
time = fit2$time,
surv = fit2$surv
)
ggplot(dat, aes(time, surv)) +
geom_line() +
geom_vline(xintercept = 3650, color = "blue") +
geom_area(data = subset(dat, time <= 3650), fill = "blue") +
theme_minimal()
Run Code Online (Sandbox Code Playgroud)
