如何通过聚类在多元 Cox 模型的生存曲线下添加风险表中的数字?

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

我的第一个问题。我想在使用聚类的多元 Cox 比例风险模型的生存曲线中添加一个风险表中的数字。

ggadjustedcurves 将产生我想要的生存曲线,但不会添加风险表中的数字:

library(haven)
aa <- read_sav("data.sav")

library(survival)
library(survminer)
library(gtsummary)

fit <- coxph(Surv(time, status) ~ Sex + variable1 + variable2 + variable3 + cluster(institution), data = aa)
ggadjustedcurves(fit, data=as.data.frame(aa), variable="Sex", xlab = "Days", ylab = "Outcome", xlim = c(0, 365), risk.table = TRUE) 

以上将生成曲线,但不会生成风险数字表。

enter image description here

finalfit 将生成曲线和风险数字表,但仅适用于两个变量(有时我需要生成多变量模型):

library(finalfit)
data(aa)
explanatory <- c("Sex", "cluster(institution)")
dependent = "Surv(time, status)"
aa %>%
  surv_plot(dependent, explanatory, xlab="Time (days)", pval=TRUE, legend="none") #surv_plot is in the finalfit package.

上面创建了生存曲线和风险人数表,但仅适用于两个变量。

library(finalfit)
data(aa)
dependent = "Surv(time, status)"
explanatory2 <- c("Sex", "variable1", "variable2", "variable3", "cluster(institution)")
aa %>%
  surv_plot(dependent, explanatory2, xlab="Time (days)", pval=TRUE, legend="none") #surv_plot is in the finalfit package.

以上方法不起作用。

我错过了什么?有人有修复或解决方法来创建此表吗?或者,答案是否只是无法为此分析生成风险数字表?谢谢。

r survival-analysis cox-regression survival survminer
1个回答
0
投票

一个有点 hacky 的解决方案,因为从

ggadjustedcurves
添加风险表似乎是不可能的,所以使用
ggsurvtable
创建一个单独的风险表,然后使用
ggarrange
中的
ggpubr
将两个图排列在一起:

由于没有提供数据,我将使用

bladder
数据集来说明。

library(survival)
library(survminer)
library(ggpubr)

fit <- coxph(Surv(stop, event) ~ rx + size + number, cluster = id, data=bladder)

gg_adj <- ggadjustedcurves(fit, data=bladder, variable="rx") 

fit2 <- survfit(Surv(stop, event) ~ rx, data=bladder)
risk_table <- ggsurvtable(fit2, data=bladder, xlim=c(0,50), color = "strata")

ggarrange(gg_adj, risk_table$risk.table, nrow=2, heights=c(2,1))

enter image description here

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