有没有办法在 R 中的累积发生率图中添加刻度/审查标记?

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

我有兴趣为竞争事件生成累积发生率图,其中包括曲线中的刻度/审查标记。我知道您可以在没有竞争风险的情况下使用 1-CSH kaplan meier 方法创建带有刻度/审查标记的图,但这似乎高估了随着时间的推移的风险概率。我想知道是否有人知道在存在竞争风险的情况下向累积发生率图(参见下面的 cuminc() 图)添加刻度/审查标记的方法,或者知道可以解释竞争事件并添加刻度/审查标记的包。我已经在谷歌上搜索了一段时间,但还没有找到一种方法。据我所知,目前还没有办法做到这一点。任何帮助,将不胜感激。 :)

以下是我看过的一些帖子:

2.3.2 单克隆丙种球蛋白病

我已经查看了plot(cuminc())和ggcompetingrisks(ci.cuminc)的文档,但没有看到在曲线上包含刻度/审查标记的参数。

在下面的示例中,我使用卵巢生存数据集,并通过将 fustat 替换为 2 添加一个附加事件(如果它们的未来生存时间为 < 300.

library(survival)
library(survminer)
library(cmprsk)
library(ggsurvfit)

df <- data.frame(ovarian)
df$fustat2 <- df$fustat
df[df$futime < 300,]$fustat2 <- 2

df$rx <- factor(df$rx, c(1, 2), labels=c('Rx1', 'Rx2'))

# This example is 1-CS KM:
surv.obj <- survfit(Surv(futime, fustat2==1)~rx, data=df)
#plot(surv.obj, fun= function(x) {1 - x}, bty='L', mark.time=TRUE)
plot(surv.obj,  fun="event",              bty='L', mark.time=TRUE)

# ggsurvfit also produces 1-CS KM curve:
ggsurvfit(surv.obj, type = "risk") + add_censor_mark()

# Cumulative incidence Curve:
ci.cuminc <- cuminc(ftime = df$futime, fstatus= df$fustat2, group =  df$rx)

plot(ci.cuminc, lty=c(1, 1, 0, 0), wh=c(-1,-1), ylim=c(0, 0.45))

# Survminer package has ggcompetingrisks()
ggpar(ggcompetingrisks(ci.cuminc[1:2], multiple_panels = FALSE, censor=TRUE, censor.shape="+"), ylab = "Probablity")

r survival-analysis ggsurvfit
1个回答
0
投票

您可以使用 ggsurvfit 包来做到这一点。您需要使用

tidycmprsk::cuminc()
来估计 CIF,使用
ggsurvfit::ggcuminc()
来绘制风险曲线。该包导出一个
ggsurvfit::add_censor_mark()
函数来添加审查指标。

在下面的示例中,如果所有受试者没有死于癌症,则他们会同时(24 个月)接受审查,因此所有标记都出现在同一位置。如果有更有趣的审查分布,它看起来会更有趣。

library(ggsurvfit)
#> Loading required package: ggplot2
library(tidycmprsk)

cuminc(Surv(ttdeath, death_cr) ~ trt, trial) %>%
  ggcuminc(outcome = "death from cancer") +
  add_censor_mark(size = 5) +
  scale_ggsurvfit(x = list(breaks = seq(0, 24, by = 6)))

创建于 2024-01-25,使用 reprex v2.0.2

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