如何使用survdiff比较Kaplan-Meier和Nelson-Aalen生存曲线
解决方案
步骤1:构造扩展数据集
survdiff的计算逻辑是基于不同分组的原始生存数据做组间差异检验,你需要先将原始数据集复制为两份,新增分组标记区分两种估计方法对应的组别:
data_extend <- rbind( transform(data_surv, group = "Kaplan-Meier"), transform(data_surv, group = "Nelson-Aalen") )
步骤2:执行log-rank检验
直接将新增的分组变量作为分层因子传入survdiff即可:
log_rank_res <- survdiff(Surv(futime, fustat) ~ group, data = data_extend) print(log_rank_res)
补充注意事项
- Kaplan-Meier和Nelson-Aalen都是基于同一份原始数据的非参数生存函数估计,大样本下两者拟合结果趋近一致,log-rank检验通常会返回无统计学差异的结果
- 若你是要验证两种估计方法的一致性,更推荐直接对比
f1_km$surv和f2_na$surv向量的平均偏差、最大偏差,或计算Brier得分做量化评估,不需要做假设检验
内容的提问来源于stack exchange,提问作者phdstudent_mtl
相关产品推荐
相关产品推荐

