基于帕金森病多随访队列数据开展Case-Case Cox回归的方法咨询
针对PD随访数据集的Case-Case Cox回归分析操作建议
1. 先完成数据结构化适配
你手头的全患者队列符合Case-Case设计的前提,首先要把宽格式的随访数据转为生存分析要求的长格式,核心处理规则如下:
- 按样本ID分组,对每个受试者的所有随访日期从小到大排序,计算从基线到每次随访的时间差(推荐用月作为单位,作为后续的生存时间变量)
- 明确你要研究的结局事件:比如你可以选择从基线PD状态进展至PD-MCI或PDD作为终点,也可以单独选择进展至PDD作为终点,其他情况按删失处理:
- 直至最后一次随访仍维持PD状态的受试者,生存时间取基线到末次访视的间隔,事件变量赋值为0
- 随访中途失访无有效状态数据的,生存时间取基线到最后一次有效访视的间隔,事件变量赋值为0
如果你需要同时分析三个状态之间的所有转归风险,可以采用多状态Cox模型,把不同的转归类型设为不同的事件编码即可。
2. 模型变量设定
Case-Case设计无需纳入健康对照相关的变量,所有分析都在PD患者队列内进行,核心要纳入的变量包括:
- 年龄作为核心协变量,是PD认知进展的强混杂因子
- 如果后续补充了性别、发病年龄、病程、基础用药等字段,也建议纳入模型调整混杂
- 不需要额外设置“是否患病”的二分类变量,分析核心是比较不同特征的PD患者进展到目标终点的风险差异
3. 代码实现参考(R语言)
核心用到survival包的coxph函数,示例代码如下:
# 加载生存分析包 library(survival) # 入参说明: # your_data为你整理好的长格式数据集,包含字段: # time:从基线开始的随访时间(单位:月),event:事件标识(1=发生目标进展,0=删失) # age:基线年龄,id:样本ID # 基础单因素Cox模型,分析年龄对进展风险的影响 cox_base <- coxph(Surv(time, event) ~ age, data = your_data) # 查看模型结果 summary(cox_base) # 如果需要调整受试者内重复测量的相关性,可加入脆弱项 cox_frailty <- coxph(Surv(time, event) ~ age + frailty(id), data = your_data) summary(cox_frailty)
4. 结果校验注意事项
- 分析前先做等比例风险假定检验,调用
cox.zph(cox_base)即可,输出结果P值>0.05说明满足模型假定 - 如果随访间隔差异较大,建议先采用插值法补全部分缺失的状态数据,避免删失占比过高影响结果可信度
- 样本量充足的前提下可以做亚组分析,比如按基线年龄分层,对比不同年龄段患者的进展风险差异
内容的提问来源于stack exchange,提问作者kayenat parveen
相关产品推荐
相关产品推荐

