如何处理 Cox PH、R 3.1.3 survfit 中违反比例风险假设的情况
How to deal with violation of proportional hazards assumption in Cox PH, R 3.1.3 survfit
我正在使用 'survival' 包和 coxph
在 R 中执行生存分析。我的目标是比较患有不同慢性病的个体之间的生存率。我的数据结构如下:
id, time, event, disease, age.at.dx
1, 342, 0, A, 8247
2, 2684, 1, B, 3879
3, 7634, 1, A, 3847
其中 'time' 是从诊断到事件的天数,如果受试者死亡,则 'event' 为 1,如果删失,则为 0,'disease' 是具有 8 个水平的因子,并且'age.at.dx' 是受试者首次诊断时的年龄(以天为单位)。我不熟悉使用生存分析。查看像这样的模型的 cox.zph 输出:
combi.age<-coxph(Surv(time,event)~disease+age.at.dx,data=combi)
两个疾病水平违反了 PH 假设,p 值 <0.05。随着时间的推移绘制 Schoenfeld 残差图表明,对于一种疾病,危害随着时间的推移稳步下降,而对于第二种疾病,该线主要是平行的,但在图表的最左侧略有上升。
我的问题是如何应对这些疾病等级?我从阅读中了解到,我应该尝试为危害稳步下降的疾病添加时间交互作用,但我不确定如何做到这一点,因为大多数 coxph
的例子我只遇到过比较两组,而我正在比较 8。另外,我可以安全地忽略在早期时间点具有高风险的疾病水平假设违规吗?
我想知道这是否是一种不合适的数据结构方式,因为它不排除单个个体在数据中多次出现 - 这是个问题吗?
感谢您的帮助,如果需要更多信息来回答这些问题,请告诉我。
我想说您已经对数据有了相当好的理解,应该展示您的发现。这听起来像是一项描述性研究,而不是您将提交给 FDA 并要求遵守您的 p 值的研究。由于您的听众将(或应该)预期不同疾病的风险时间进程将是不同的,我认为您可以描述这些结果并讨论第一个 [=15] 的 biological/medical 原因=] 疾病随着时间的推移变得不那么重要,而其他不符合条件的情况可能会随着时间的推移变得更加严重。你已经做了比医学文献中大多数描述性文章更透彻的分析。很少看到对不相称性质的描述。
关于数据 "does not preclude a single individual appearing multiple times in the data" 的最后一个问题可能需要更彻底的讨论。第一种方法是使用 cluster()
-函数按患者 ID 进行分层。
我正在使用 'survival' 包和 coxph
在 R 中执行生存分析。我的目标是比较患有不同慢性病的个体之间的生存率。我的数据结构如下:
id, time, event, disease, age.at.dx
1, 342, 0, A, 8247
2, 2684, 1, B, 3879
3, 7634, 1, A, 3847
其中 'time' 是从诊断到事件的天数,如果受试者死亡,则 'event' 为 1,如果删失,则为 0,'disease' 是具有 8 个水平的因子,并且'age.at.dx' 是受试者首次诊断时的年龄(以天为单位)。我不熟悉使用生存分析。查看像这样的模型的 cox.zph 输出:
combi.age<-coxph(Surv(time,event)~disease+age.at.dx,data=combi)
两个疾病水平违反了 PH 假设,p 值 <0.05。随着时间的推移绘制 Schoenfeld 残差图表明,对于一种疾病,危害随着时间的推移稳步下降,而对于第二种疾病,该线主要是平行的,但在图表的最左侧略有上升。
我的问题是如何应对这些疾病等级?我从阅读中了解到,我应该尝试为危害稳步下降的疾病添加时间交互作用,但我不确定如何做到这一点,因为大多数 coxph
的例子我只遇到过比较两组,而我正在比较 8。另外,我可以安全地忽略在早期时间点具有高风险的疾病水平假设违规吗?
我想知道这是否是一种不合适的数据结构方式,因为它不排除单个个体在数据中多次出现 - 这是个问题吗?
感谢您的帮助,如果需要更多信息来回答这些问题,请告诉我。
我想说您已经对数据有了相当好的理解,应该展示您的发现。这听起来像是一项描述性研究,而不是您将提交给 FDA 并要求遵守您的 p 值的研究。由于您的听众将(或应该)预期不同疾病的风险时间进程将是不同的,我认为您可以描述这些结果并讨论第一个 [=15] 的 biological/medical 原因=] 疾病随着时间的推移变得不那么重要,而其他不符合条件的情况可能会随着时间的推移变得更加严重。你已经做了比医学文献中大多数描述性文章更透彻的分析。很少看到对不相称性质的描述。
关于数据 "does not preclude a single individual appearing multiple times in the data" 的最后一个问题可能需要更彻底的讨论。第一种方法是使用 cluster()
-函数按患者 ID 进行分层。