R 中使用 ggsurvplot 的累积发生率图

问题描述 投票:0回答:1

我正在尝试创建一个累积发生率图,该图还为我提供了指定时间点的风险表,具有置信区间和审查标记。我的数据结构是这样的:

library(survival)
library(tidyverse)
library(ggsurvfit)
library(survminer)
library(tidycmprsk)
library(prodlim)
library(cmprsk)

time = c(1:10)
status = c(T, F, T, F, T, F, T, F, T, F)
df <- data.frame(time, status)

审查时间以天为单位,状态为 T = 事件,F = 无事件。原始数据还包括 NA。

我几乎得到了我想要的结果:

ci_surv <- Surv(time, status)
ci_survfit <- survfit2(ci_surv ~ 1)

ggsurvfit(ci_survfit) +
  labs(
    x = "Days",
    y = "Event-free proportion"
  ) +
  scale_x_continuous(breaks = c(2, 5, 10)) +
  add_confidence_interval() +
  add_risktable() +
  add_censor_mark()

但显然我希望在 y 轴上显示累积发生率,而不是无事件比例(生存)。

我已经尝试了其他几种解决方案。有人给了我一个正确的情节:

plot(ci_survfit,
     fun = function(Surv) 1-Surv,
     atrisk.title="Number at risk",
     atrisk=T)

但这给了我“不是图形参数”错误,基本上我想添加到图中的任何东西都像上面的 atrisk 一样。

此解决方案也是如此:

ci_cuminc <- cmprsk::cuminc(time, status)
plot(ci_cuminc, atrisk = T)

atrisk 也不起作用。 感谢您的帮助!

r survival-analysis
1个回答
0
投票

我认为您正在寻找

type = "risk"
ggsurvfit

ggsurvfit(ci_survfit, type = "risk") +
  labs(
    x = "Days",
    y = "Event-free proportion"
  ) +
  scale_x_continuous(breaks = c(2, 5, 10)) +
  add_confidence_interval() +
  add_risktable() +
  add_censor_mark()

© www.soinside.com 2019 - 2024. All rights reserved.