logistic回归分析用什么软件多元logistic回归

在上一篇文章中,我们谈到了用R语言绘制生存数据决策曲线和趋势评分的匹配操作。今天,我们主要解释和演示基于逻辑回归的诊断模型。

1.诊断模型应用场景

临床诊断模型主要用于结果变量为二元变量的情况。

它广泛应用于肿瘤和非肿瘤领域。

主要回答以下问题

1.发生了吗?是/否

2.肿瘤复发了吗?是/否

3.冠状动脉支架植入后是否发生再狭窄。

4.糖尿病患者是否发生长期糖尿病足截肢。

5.腹膜透析患者是否发生透析相关腹膜感染。

6.植入后腹腔引流管是否拔除或穿刺部位感染。

一系列临床实际问题,可以考虑构建预测模型。

2.GLM函数的应用

在R语言中,glm)函数可用于逻辑回归分析。

Glm)函数是stats包中广义线性回归中使用的函数,其一般形式为:

glm公式,家族=高斯,)

Glm)函数有很多参数,主要是公式和族。

族可以设置分布函数族。在本例中,如果设置为二项式,glm将运行逻辑回归。

当family设置为二项式时,如果L连接函数link设置为logit,则glm运行逻辑回归。

如果设置为probit,glm将运行probit回归。

具体格式为:family=二项式link=logit)

公式用于设定回归模型,其一般形式为公式=y~x,其中y为响应变量,x为解释变量。

在模型建立之前,这里不再重复变量过滤。可以使用SPSS或Easy软件筛选预测变量,即独立预测因子。

建议使用易软件,操作起来省时省力。

计划近期推出:逻辑回归和COX回归的E软件,软件操作。

setwd’ e : \ \ r work ‘)dev-read . CSV’ data . CSV ‘)库rms)库外部)#计算预测值dev $ predmodela-predict新数据=dev,modela,’ response ‘)dev $ pred modelB-predict新数据=dev,modelB,’ response ‘)dev $ pred modelC-predict新数据=dev,modelC,’ response ‘)

#绘制ROC曲线,首先安装Proc包install.packages ‘Proc ‘)库pROC)

#分别画三条ROC曲线,给出阈值和ROC曲线下的面积。gmodelA – rocMN~predmodelA,data=dev,smooth=F)图gmodelA,print.auc=TRUE,print.thres=TRUE,main=’ROC CURVE ‘,col=’blue ‘,print.thres.col=’blue ‘,identity.col=’blue ‘,identity.lty=1,identity.lwd=1)

gmodelB – rocMN~predmodelB,data=dev,smooth=F)图gmodelB,print.auc=TRUE,print.thres=TRUE,main=’ROC CURVE ‘,col=’blue ‘,print.thres.col=’blue ‘,identity.col=’blue ‘,identity.lty=1,identity.lwd=1)

gmodelC – rocMN~predmodelC,data=dev,smooth=F)图gmodelC,print.auc=TRUE,print.thres=TRUE,main=’ROC CURVE ‘,col=’blue ‘,Print.thres.col=’ blue ‘,identity.col=’ blue ‘,identity.lty=1,identity.lwd=1) 3。Roc曲线绘制

#计算预测值dev $ pred modela-predictnew data=dev,modela,’ response ‘)dev $ pred modelb-predictnew data=dev,modelb,’ response ‘)dev $ pred model c-predictnew data=dev,model c,’ response ‘)

#绘制ROC曲线,首先安装Proc包install.packages ‘Proc ‘)库pROC)

#分别画三条ROC曲线,给出阈值和ROC曲线下的面积。模型- rocMN~predmodelA,数据=dev,平滑=F)图模型,打印. auc=TRU

E, print.thres=TRUE,main = “ROC CURVE”, col= “blue”,print.thres.col=”blue”,identity.col=”blue”, identity.lty=1,identity.lwd=1)

gmodelB <- rocMN~predmodelB, data = dev,smooth=F)plotgmodelB, print.auc=TRUE, print.thres=TRUE,main = “ROC CURVE”, col= “blue”,print.thres.col=”blue”,identity.col=”blue”, identity.lty=1,identity.lwd=1)

gmodelC <- rocMN~predmodelC, data = dev,smooth=F)plotgmodelC, print.auc=TRUE, print.thres=TRUE,main = “ROC CURVE”, col= “blue”,print.thres.col=”blue”,identity.col=”blue”, identity.lty=1,identity.lwd=1)

依次为A B C 模型ROC曲线(可以继续美化)

同时显示AUC, 最佳截断值。

4. 将多条ROC曲线绘制在一起

#将三条ROC曲线放在一个图形中.
librarypROC)devroc1 <- plot.rocdev$MN, dev$predmodelA, main=”dev ROC”, percent=TRUE, col=”1″)devroc2 <- lines.rocdev$MN, dev$predmodelB, percent=TRUE, col=”2″)devroc3 <- lines.rocdev$MN, dev$predmodelC, percent=TRUE, col=”3″)legend”bottomright”, legend=c”devmodelA”, “devmodelB”,”devmodelC”), col=c”1″, “2”,”3″), lwd=2)

5. 诊断模型列线图绘制

以 modelC 为例,进行列线图绘制示范

此处做logistic回归,列线图,与前面计算ROC那里不同,应用lrm) 函数进行操作,以modelC2代指

lrm()函数同样可用于logistic回归,能够自动整合数据维度,如用glm()计算,会出现“下标出界”现象

#打包数据ddist <- datadistdev)optionsdatadist=’ddist’)
modelC2 <- lrmMN ~age + eGFR + DM + NLR,data=dev)nomomodelC <- nomogrammodelC2,lp=F, fun=functionx)1/1+exp-x)), fun.at=seq0.1,1,by=0.1), funlabel=”Diagnostic possibility”)plotnomomodelC)

至此,模型构建完毕,后续可进行模型预测准确性与区分能力校验。

后续会更新

1. 生存资料,COX回归模型构建基本操作

以及如何将多条 时间依赖ROC 绘制在一个图像里

2. 易侕软件基本操作-logistic回归 与 COX回归

欢迎关注,学习交流为主~

获得本文演示数据及代码,关注同名微信公众号,临床预测模型训练营,后台回复“R03”即可

飞艇如何买前5后51ddace94350421a9dfed4af2b57d362?from=pc”>

4. 将多条ROC曲线绘制在一起

#将三条ROC曲线放在一个图形中.
librarypROC)devroc1 <- plot.rocdev$MN, dev$predmodelA, main=”dev ROC”, percent=TRUE, col=”1″)devroc2 <- lines.rocdev$MN, dev$predmodelB, percent=TRUE, col=”2″)devroc3 <- lines.rocdev$MN, dev$predmodelC, percent=TRUE, col=”3″)legend”bottomright”, legend=c”devmodelA”, “devmodelB”,”devmodelC”), col=c”1″, “2”,”3″), lwd=2)

5. 诊断模型列线图绘制

以 modelC 为例,进行列线图绘制示范

此处做logistic回归,列线图,与前面计算ROC那里不同,应用lrm) 函数进行操作,以modelC2代指

lrm()函数同样可用于logistic回归,能够自动整合数据维度,如用glm()计算,会出现“下标出界”现象

#打包数据ddist <- datadistdev)optionsdatadist=’ddist’)
modelC2 <- lrmMN ~age + eGFR + DM + NLR,data=dev)nomomodelC <- nomogrammodelC2,lp=F, fun=functionx)1/1+exp-x)), fun.at=seq0.1,1,by=0.1), funlabel=”Diagnostic possibility”)plotnomomodelC)

至此,模型构建完毕,后续可进行模型预测准确性与区分能力校验。

后续会更新

1. 生存资料,COX回归模型构建基本操作

以及如何将多条 时间依赖ROC 绘制在一个图像里

2. 易侕软件基本操作-logistic回归 与 COX回归

欢迎关注,学习交流为主~

获得本文演示数据及代码,关注同名微信公众号,临床预测模型训练营,后台回复“R03”即可

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注