r - 如何叠加 contsurvplot 包中的两个 ggplot2 对象?

标签 r ggplot2 survival-analysis

我有两个从 constsurvplot 包中的 plot_surv_at_t 生成的图。其中之一是观察 5 年无复发生存率与肿瘤大小的关系。另一个是癌症特异性生存率与肿瘤大小的关系。

model1 <- coxph(Surv(Time_To_Recurrence,Recurrence) ~ Tumor_Size, data = data, x=TRUE)
model2 <- coxph(Surv(CSS,Cancer_Death) ~ Tumor_Size, data = data, x=TRUE)

plot_surv_at_t(time = "Time_To_Recurrence",
               status = "Recurrence", 
               variable = "Tumor_Size",
               data = data1, 
               model = model1, 
               t=60)

plot_surv_at_t(time = "CSS",
               status = "Cancer_Death", 
               variable = "Tumor_Size",
               data = data1, 
               model = model2, 
               t=60)

每个单独的图看起来都很棒,但我想在同一图中显示大小对无复发和癌症特异性生存的影响。我尝试过 patchwork 包,并且能够将它们彼此相邻,但我无法将它们叠加在一起。

谢谢

最佳答案

一个可能的选择是从第二个 ggplot2 对象中提取数据并将其添加到第一个 ggplot2 对象中,例如

library(survival)
library(survminer)
#> Loading required package: ggplot2
#> Loading required package: ggpubr
#> 
#> Attaching package: 'survminer'
#> The following object is masked from 'package:survival':
#> 
#>     myeloma
#options(timeout = 6000)
#install.packages("contsurvplot", dependencies = TRUE)
library(contsurvplot)

fit <- coxph(Surv(time, status) ~ age, data = lung, x = TRUE)
plot1 <- plot_surv_at_t(time = "time",
               status = "status", 
               variable = "age",
               data = lung, 
               model = fit, 
               t=60)

plot1


lung2 <- lung %>%
  mutate(CSS = sample(1:1000, 228))
fit2 <- coxph(Surv(CSS, status) ~ age, data = lung2, x = TRUE)
plot2 <- plot_surv_at_t(time = "CSS",
                        status = "status", 
                        variable = "age",
                        data = lung2, 
                        model = fit2,
                        t=60)
plot2


plot1 +
  geom_line(data = plot2$data,
            aes(x = cont, y = est),
            color = "red")

创建于 2023-03-19 reprex v2.0.2

关于r - 如何叠加 contsurvplot 包中的两个 ggplot2 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75780147/

相关文章:

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

r - 如何在ggplot2中绘制加权黄土平滑度? [复制]

R - 使用 'stat_compare_means' 重新格式化 ggplot 中的 P 值

r - 如何使用 ggarrange() 或类似方法手动调整合并图的高度

r - 将列名添加到 dplyr 函数内的 vars()

r - ggplot2绘制属于不同组的与实线颜色相同的虚线

r - ggplot2:具有组,position_dodge和fill的geom_bar

pymc - PyMC 3 中的生存分析

r - 有没有办法用新数据和固定系数获得 Cox PH 模型的部分似然?

r - ggplot2 在绘图区域外添加小刻度线而不关闭剪辑