向 tidycmprsk 制作的累积入射函数和图 (ggcuminc) 添加颜色

Adding colors to cumulative incidence function and plot (ggcuminc) made by tidycmprsk

提问人:Pashtun 提问时间:11/3/2023 更新时间:11/6/2023 访问量:70

问:

因此,使用示例数据集试验,我想创建两个竞争事件的累积发生率函数,并为每个事件指定颜色。这个例子不是很好,因为你可能不需要颜色,但在我的数据集中,两个结果有一个不同的CIF,着色是有用的。

#Load data
data("trial", package = "tidycmprsk")

#make plot
cuminc(Surv(ttdeath, death_cr) ~ 1, trial) %>%
  ggcuminc(outcome = c("death from cancer", "death other causes")) +
  add_confidence_interval() +
  add_risktable() +
  scale_ggsurvfit()

输出 enter image description here

问题

如何获得癌症死亡和其他原因死亡的两种不同颜色? 尝试使用本指南,但找不到答案。

ggplot2 图形 颜色 生存分析

评论


答:

1赞 Quinten 11/6/2023 #1

由于此包使用 ,您可以使用来修改绘图的图层并为其提供颜色。您可以通过根据组号修改两个图层来添加这些图层,如下所示:ggplotggplot_build

library(tidycmprsk)
library(ggsurvfit)
library(dplyr)
data("trial", package = "tidycmprsk")

#make plot
p <- cuminc(Surv(ttdeath, death_cr) ~ 1, trial) %>%
  ggcuminc(outcome = c("death from cancer", "death other causes")) +
  add_confidence_interval() +
  add_risktable() +
  scale_ggsurvfit() 

q <- ggplot_build(p)

q$data[[1]] <- q$data[[1]] %>%
  mutate(colour = ifelse(group == 1, "red", "blue"))
q$data[[2]] <- q$data[[2]] %>%
  mutate(colour = ifelse(group == 1, "red", "blue"),
         fill = ifelse(group == 1, "red", "blue"))

q <- ggplot_gtable(q)
plot(q)

创建于 2023-11-06 with reprex v2.0.2

评论

0赞 Pashtun 11/7/2023
我认为颜色发生了变化真是太好了,所以谢谢你。我的问题仍然是图例颜色没有改变,风险表从图表中消失了。