问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何用R语言做cox先单后多回归分析!(附全套代码)

创作时间:
作者:
@小白创作中心

如何用R语言做cox先单后多回归分析!(附全套代码)

引用
CSDN
1.
https://blog.csdn.net/qq_37610365/article/details/141159083

在预测模型构建过程中,通过Cox回归来筛选预测因子是十分关键的。本文将介绍如何使用R语言进行Cox回归分析,包括单因素和多因素回归,以及逐步回归法。通过一个具体的研究案例(老年恶性骨肿瘤患者的生存期预测)来说明Cox回归的应用,并提供了详细的R代码示例。

文献解读

案例文献是沈阳医学院公共卫生学院学者基于SEER数据库的一项回顾性研究,旨在建立一个列线图来预测老年恶性骨肿瘤(MBT)患者的总生存期(OS)。

摘要

背景:恶性骨肿瘤(MBT)是老年患者死亡的原因之一。我们研究的目的是建立一个列线图来预测老年MBT患者的总生存期(OS)。

方法:从SEER数据库下载了2004年至2018年所有老年MBT患者的临床病理数据。他们被随机分配到训练集(70%)和验证集(30%)。采用单因素和多因素Cox回归分析确定老年MBT患者的独立危险因素。基于这些危险因素构建列线图,以预测老年MBT患者的1年,3年和5年OS。然后,利用一致性指数(C指数)、校准曲线和受试者工作曲线下面积(AUC)来评价预测模型的准确性和判别力。决策曲线分析(DCA)用于评估列线图的临床潜在应用价值。根据列线图上的分数,将患者分为高风险组和低风险组。Kaplan-Meier(K-M)曲线用于测试两名患者之间的生存差异。

结果:从SEER数据库下载了2004年至2018年所有老年MBT患者的临床病理数据。他们被随机分配到训练集(70%)和验证集(30%)。采用单因素和多因素Cox回归分析确定老年MBT患者的独立危险因素。基于这些危险因素构建列线图,以预测老年MBT患者的1年,3年和5年OS。然后,利用一致性指数(C指数)、校准曲线和受试者工作曲线下面积(AUC)来评价预测模型的准确性和判别力。决策曲线分析(DCA)用于评估列线图的临床潜在应用价值。根据列线图上的分数,将患者分为高风险组和低风险组。Kaplan-Meier(K-M)曲线用于测试两名患者之间的生存差异。

结论:我们建立了一个新的列线图来预测老年MBT患者的1年,3年,5年的OS。该预测模型可以帮助医生和患者制定治疗计划和后续策略。

数据介绍

文献共纳入1641名2004-2018诊断的老年MBT患者的临床病理数据。暴露因素包括年龄、种族、性别、诊断年份、组织学类型、分级、分期、原发位置、TNM分期、肿瘤大小、是否化疗、是否放疗及手术方式。

研究结果

筛选预测因子只用到训练集数据,通过单因素Cox回归与多因素Cox回归筛选预测变量。这里作者并未使用先单后多或者是逐步回归法筛选预测变量,可能从临床实际考虑的更多。但在实操过程中推荐大家优先考虑逐步回归法进行筛选,这样更有利于构建一个拟合效果好的预测模型。

利用R语言复现

下面我们利用从SEERStat中提取的相关数据进行复现。根据文献中的纳入排除标准,提取涉及的相关数据,最终共纳入1,574名患者(原文献1,641)。介于SEERStat数据库会有更新,因此提取的样本量与原文会有所出入,这里请大家多关注统计方法的运用!本次用到的是R版本是4.3.1。

开始回归分析前需要做好前期工作:①导入数据集;②按照7:3的比例将数据集拆分为训练集train和验证集test;③完成均衡性分析。接着再开展今天的回归分析。

安装加载R包并导入数据

这里绘制均衡性表格,主要用到"autoReg"R包,请注意模型变量的筛选是根据训练集进行的,在进行数据拆分后,需要用训练集来进行Cox回归。

install.packages("autoReg")
library("autoReg")

Cox回归分析

autoReg包是一款功能强大的R包,可以一步到位实现批量单因素,多因素以及逐步回归法。可以通过调整“threshold= ”来改变限制P值的限制。

#cox回归模型构建
coxmod<-coxph(Surv(train$months,train$status)~age + Race + Sex + Year.of.diagnosis   
              + Histologic.type + Primary.Site + Grade + Stage + t_stage + n_stage  
              + m_stage + Surgery + Radiation + Chemotherapy + Tumor_size,  
data=train)  
summary(coxmod)  
#单因素+P<0.05纳入多因素+逐步回归后退法  
ft3<-autoReg(coxmod,uni=TRUE,threshold=0.05, final= TRUE)   
myft(ft3)  

代码解读:autoReg函数可以自动根据设定的阈值控制变量进入多因素回归模型,如果不限制阈值,全部变量进入多因素回归,可将阈值设置为1,如threshold=1;加上“final= TRUE”表示增加逐步向后回归的结果。

R语言结果如下:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号