You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用tidycmprsk和ggsurvfit绘制ggcuminc图时add_pvalue()报错

解决ggsurvfit为CIF图特定结局添加p值时的报错问题

问题现象

使用tidycmprsk生成累积发生率函数(CIF)对象后,调用ggsurvfit::ggcuminc()绘图,为部分结局添加add_pvalue()时触发报错:

add_pvalue() works with objects created with survfit2() or tidycmprsk::cuminc().
add_pvalue() has been ignored.

复现代码如下:

library(ggsurvfit)
library(tidycmprsk)
library(tidyverse)

df <- tibble(
  time = rexp(100),
  status = factor(sample(c("censor", "event", "death"), 100, replace = TRUE), 
                  levels=c("censor", "event", "death")),
  group = sample(c("A", "B"), 100, replace = TRUE)
)

cif <- tidycmprsk::cuminc(Surv(time, status) ~ group, data = df)

# 此代码会报错
cif %>%
  ggcuminc(outcome = "event") +
  add_pvalue() +
  add_risktable()

指定outcome = "death"时p值可正常显示,但outcome = "event"无论如何调整status因子水平顺序都报错。

问题原因

add_pvalue()处理cuminc对象时,默认仅读取第一个非删失结局的Gray检验结果;当指定的outcome不是第一个非删失结局时,函数无法匹配到对应结局的检验p值,因此触发忽略提示。

另外,tidycmprsk::glance(cuminc)返回的是全局Gray检验p值(针对所有竞争风险的整体比较),而非单个结局的检验结果,这也是函数无法自动提取特定结局p值的核心原因。

解决方案

方案1:使用全局Gray检验p值

如果只需展示组间所有竞争风险的整体差异p值,可直接提取glance(cif)的全局p值传入add_pvalue():

# 提取全局Gray检验p值
global_pval <- round(glance(cif)$p.value, 3)

cif %>%
  ggcuminc(outcome = "event") +
  add_pvalue(pvalue = paste("Gray's Global Test p =", global_pval)) +
  add_risktable()

方案2:手动计算单个结局的竞争风险回归p值

若需要针对特定结局(如event)的组间差异p值,可使用cmprsk::crr()函数计算竞争风险模型的p值,再传入add_pvalue():

library(cmprsk)

# 将status转换为crr要求的格式:0=删失,1=目标结局,2=其他竞争风险
df <- df %>%
  mutate(status_num = case_match(
    status,
    "censor" ~ 0,
    "event" ~ 1,
    "death" ~ 2
  ))

# 针对event结局构建竞争风险模型
crr_fit <- crr(
  ftime = df$time,
  fstatus = df$status_num,
  cov1 = model.matrix(~ group, data = df)[, -1] # 提取分组变量的矩阵
)

# 提取event结局的p值
event_pval <- round(coef(summary(crr_fit))[1, "Pr(>|z|)"], 3)

# 绘图并传入手动计算的p值
cif %>%
  ggcuminc(outcome = "event") +
  add_pvalue(pvalue = paste("Event Group Comparison p =", event_pval)) +
  add_risktable()

内容的提问来源于stack exchange,提问作者Frederik M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:03:21