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

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

我已经查看了plot(cuminc())和ggcompetingrisks(ci.cuminc)的文档,但还没有看到一个参数在曲线上包含tick/censor标记.

在下面的例子中,我使用存活卵巢数据集,并通过将Fustat替换为2来添加一个额外的事件,如果他们的Futime存活时间是<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)

enter image description here

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

enter image description here

# 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))

enter image description here

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

enter image description here

推荐答案

您可以使用ggsurvfit包来实现这一点.你想用tidycmprsk::cuminc()来估计到岸价格,用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

R相关问答推荐

带有gplot 2的十字舱口

单击 map 后,将坐标复制到剪贴板

R箱形图gplot 2 4组但6个参数

如何在emmeans中计算连续变量的对比度

如何自定义3D散点图的图例顺序?

如何在ggplot图中找到第二轴的比例

根据文本字符串中的值粘贴新列

如何得到每四个元素向量R?

如何使用ggplot对堆叠条形图进行嵌套排序?

如何读取CSV的特定列时,给定标题作为向量

从服务器在Shiny中一起渲染图标和文本

在R中创建连续的期间

减go R中列表的所有唯一元素对

从数据创建数字的命名列表.R中的框

观察器中的inaliateLater的位置

有没有办法定制Plot(allEffects())面板标题?

创建新列,其中S列的值取决于该行S值是否与其他行冗余

基于R中的引用将向量值替换为数据框列的值

把代码写成dplyr中的group_by/摘要更简洁吗?

根据列和行的不同组合 Select 各种单元格