我可以通过这种方式得到生存率和95% CI:
library(survival)
library(survminer)
lung
lung$survobj1=with(lung,Surv(time,status==2))
fit1 <- survfit(survobj1 ~ 1, data = lung, conf.type = "log-log")
summary(fit1,times = seq(0, 19) * 56)
如您所见,汇总返回生存率及其95% CI:
现在我想用类似的方法得到累积发生率及其95% CI,但我不知道如何从总结中得到。
我还尝试使用以下公式绘制累积发生率:
ggsurvplot(fit1,data=lung,conf.int = TRUE,fun="cumhaz")
但我不确定我是否在以正确的方式做。
2条答案
按热度按时间xfb7svmp1#
要计算累积发生率,您通常会使用R中cmprsk包中的cuminc()函数,该函数可以处理竞争风险。生存分析通常不直接提供累积发生率,因为生存分析侧重于至事件发生时间数据和相应的生存函数,而累积发生率函数(CIF)是在存在竞争风险时使用的测量。
下面是一个如何使用
cuminc()
函数的示例:但是,需要注意的是,
cuminc()
函数要求感兴趣的事件编码为“1”,竞争事件编码为“2”。因此,在使用状态变量之前,您可能需要重新编码它。绘制CIF时,您可能希望使用
cuminc()
函数的绘图功能,而不是使用ggsurvplot()
。cuminc()
函数确实提供了方差估计值,可用于构建置信区间。它们存储在返回列表的var元素中。monwx1rj2#
谢谢Bora的建议。我进一步发现,package(tidycmprsk)更便于计算发生率的95% CI。