在R中如何获取生存分析的累积发病率及其95%置信区间?
获取累积发病率(累积风险)及其95%置信区间
一、从拟合结果提取数值信息
你可以通过两种方式获取累积发病率(即累积风险)及其95%置信区间,和提取生存率的逻辑一致:
- 直接从survfit对象提取
已拟合的fit1对象中内置了累积风险、置信区间上下限的数值,直接调用即可:
# 提取累积发病率(累积风险)值 cum_incidence <- fit1$cumhaz # 提取95%置信区间下限 ci_lower <- fit1$lower.cumhaz # 提取95%置信区间上限 ci_upper <- fit1$upper.cumhaz # 合并为数据框查看完整结果 cbind(time = fit1$time, 累积发病率 = cum_incidence, CI下限 = ci_lower, CI上限 = ci_upper)
- 用summary()输出指定时间点结果
如果要像获取生存率那样,输出指定时间点的累积发病率,只需给summary()添加fun="cumhaz"参数:
summary(fit1, times = seq(0, 19) * 56, fun = "cumhaz")
执行后会直接展示对应时间点的累积发病率、标准误以及95%置信区间。
二、关于累积发病率绘图的正确性
你使用ggsurvplot(fit1, data=lung, conf.int = TRUE, fun="cumhaz")的做法是完全正确的:
fun="cumhaz"参数会将生存曲线转换为累积风险曲线(单一事件场景下,累积发病率等于累积风险);conf.int = TRUE会同步绘制累积发病率的95%置信区间,逻辑和生存率置信区间一致。
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

