Logistic构建临床预测模型系列主要以一篇基于logistic回归构建预测模型的文章为例,从整理数据到构建预测模型,再到内部验证模型,包括了整理数据、随机数据拆分、基线描述、差异性分析、绘制ROC曲线并计算AUC值、HL检验及绘制校准曲线、构建列线图模型并绘制DCA曲线,基本涵盖了Logistic构建预测模型的全过程,敬请期待!
本文属于Logistic构建临床预测模型系列文章第四篇,分别用R语言和风暴统计对构建Logistic预测模型过程中必不可少的Logistic单因素+多因素回归进行复现。系列文章详情请点击下方链接:
Logistic构建预测模型(1):复现SEER数据库文献解读
Logistic构建预测模型(2):如何用R语言整理数据?(附全套代码)
Logistic构建预测模型(3):如何用R语言拆分数据集并做均衡性检验?(附全套代码)
今日文章分为三部分 1.文章解读 2.R语言复现 3.一键生成Logistic单因素+多因素回归三线表
1.文章解读
案例文献是一篇基于SEER公共数据库的一项回顾性研究,旨在开发和验证列线图以预测脑转移的非小细胞肺癌患者早期死亡。

案例文献
摘要
背景:在非小细胞肺癌(NSCLC)的整个病程中,很多患者会出现预后差、死亡率高的脑转移(BM)。然而,很少有模型能预测有脑转移的NSCLC患者的早期死亡(ED)。我们旨在开发列线图来预测NSCLC脑转移患者ED。 方法:从监测、流行病学和最终结果(SEER)数据库中选取了2010年至2015年间患有BM的NSCLC患者。纳入标准如下:(I)患者经病理诊断为NSCLC;(II)患者患有BM。患者按7:3的比例随机分为两组,分别为训练组和验证组。采用单因素和多因素Logistic回归方法来确定伴有BM的NSCLC患者发生ED的危险因素。建立了两个列线图,并通过校准曲线、ROC曲线和决策曲线分析(DCA)进行了验证。随访数据包括生存月数、死因和生命状态。初次诊断后3个月内的死亡定义为ED,终点为全因ED和癌症特异性ED。
结果:共纳入了4,920名患有BM的NSCLC患者,并随机分为两个队列(7:3),包括训练队列(n=3,444)和验证队列(n=1,476)。全因ED和癌症特异性ED的独立预后因素包括年龄、性别、种族、肿瘤大小、组织学、T分期、N分期、分级、手术、放疗、化疗、骨转移和肝转移。所有这些变量都用于建立列线图。在全因ED和癌症特异性ED的列线图中,训练数据集的ROC曲线下面积分别为0.813(95% CI:0.799-0.837)和0.808(95% CI:0.791-0.830),验证数据集的ROC曲线下面积分别为0.835(95% CI:0.805-0.862)和0.824(95% CI:0.790-0.849)。此外,校准曲线证明预测的ED与实际值一致。DCA临床应用前景良好。
结论:列线图可用来预测患者死亡的具体概率,有助于治疗决策和重点护理,以及医患沟通。 本文构建logistic预测模型并做内部验证,思路框架清晰,案例十分典型。先拆分数据集为训练集和验证集,比例为7:3,验证集用于进行内部验证。然后做基线描述,比较训练集和验证集的基线差异性,再做单因素和多因素logistic回归,将单因素P值小于0.05的因素纳入到多因素回归模型中。再根据多因素回归的结果构建列线图预测模型,并对模型进行验证,绘制ROC、校准曲线及DCA曲线,模型比较稳定。
今天我们对本文的Logistic单因素+多因素回归展开复现。研究者以非小细胞癌脑转移患者全因早死和癌症特异性早死为因变量,下表是本文的单因素Logistic回归和多因素Logistic的结果展示。

单因素logistic回归

多因素logistic回归
2.R语言复现
根据文章的纳排标准,从SEER数据库提取数据,并通过筛选、整理得到数据集total,将数据按照7:3拆分为训练集train和验证集test,并展开分析。本文重点复现文章中训练集单因素+多因素Logistic回归分析。
案例文献中有两个结局,一个是非小细胞肺癌患者全因早死,一个是非小细胞肺癌患者癌症特异性早死,回归方法相同,我们用非小细胞肺癌患者全因早死为结局做方法展示。
2.1安装和加载R包
install.packages("autoReg")
library("autoReg") 2.2开展logistic单因素+多因素分析
overall.log <- glm(All.cause.early.death ~ Age.years + Sex + Race + Marital + Grade +
Tumor.size.mm + Histology + T_stage + N_stage + Surgery +
Radiation + Chemotherapy + Bone.metastasis +
Liver.metastasis,data=train,family=binomial)
#“~”前为因变量,“~”后为自变量
summary(overall.log)
model1<-autoReg(overall.log,uni=TRUE,multi=FALSE,threshold=0.05)#只显示单因素
model1
model2<-autoReg(overall.log,uni=FALSE,milti=TRUE,threshold=0.05)#只显示多因素
model2
model3<-autoReg(overall.log,uni=TRUE,milti=TRUE,threshold=0.05)#只显示多因素
model3 代码解读:autoReg 函数中uni为TRUE指输出单因素模型结果,multi为TRUE输出多因素模型结果,threshold纳入条件
这里为大家展示logistic单因素+多因素回归结果

R语言logistic单因素+多因素回归
3.一键生成Logistic单因素+多因素回归三线表
用它,一键生成三线表,做个回归也就几秒钟的事情!

风暴统计
3.1电脑端打开风暴统计平台——“风暴智能统计”模块,点击“临床预测模型(最新)”,进入“临床预测模型:内部验证”页面

临床预测模型:内部验证
3.2Logistic单因素+多因素回归分析 导入数据并做好整理转换,拆分数据集用于内部验证,做好基线差异性分析后,点击“logistic构建预测模型”。

logistic构建预测模型
开展logistic回归,选择结局变量和自变量,选择纳入多因素回归的标准,结果会直接出现在下方

logistic回归
并且可以一键导出word三线表!

一键导出word三线表

一键导出word三线表

一键导出word三线表
诸位可以对比一下结果,R语言和风暴统计平台结果是一模一样,并且风暴统计可以一键导出word三线表,OR值和P值单列,也不需要我们自己再一个一个敲,不要太好用!快来试试吧!