R语言进行多指标联合ROC曲线分析
投稿/科研合作:[email protected]
联系我们:137704924或372699348
群1-5:科研讨论、文献汇报群
网站:http://www.sleep-brain.com/
1. R软件安装:
首先进入 https://cran.r-project.org/
点击download R
找到中国的下载链接网址:
选择Download R for Windows
选择install R for the first time.
选择Download R 4.0.0 for Windows,安装下即可。
2. 安装rtools软件包:
在https://cran.rstudio.com/bin/windows/Rtools/网址下载rtools软件包,并安装(安装最新版R 4.0需要安装)。
3.安装ROC曲线软件包:
打开Rstudio,点击右下角Packages下面的install,输入ROCR,点击install,自动会在左侧界面安装。
同理,输入glmnet安装该插件。
4.运行ROC曲线
(1)准备数据
首先,准备好数据,放在Excel文件内,这个excel命名为ROC.csv格式。这个文件放在D盘的ReseachSoftwore文件夹下级的Rstudio文件内。
即:D:\\ReseachSoftwore\\Rstudio
(2)设置路径、数据读取
在Rstudio中输入以下代码,设置路径到报保存.csv格式数据当前路径下:
setwd("D:\\ReseachSoftwore\\Rstudio\\")
再输入以下代码,读取数据(数据为:ROCdata.csv):
logistic_data<-read.csv("ROCdata.csv")
(3)建立Logistic回归模型
分别输入:
library(glmnet)#Logistic
以及
fit1<-glm(Group~index1+index2+index3,data=logistic_data,family = binomial())
其中,index1、index2和index3分别是要分析的3个指标,本次目的就是看这三个指标联合区分group2组的敏感性特异性。
(4)利用建立的Logistic回归模型,对数据进行预测
输入:概率预测值
prob1<-predict(fit1,newdata = logistic_data,type = "response")
(5)绘制预测结果的ROC曲线,计算曲线下面积AUC值
分别输入:
library(ROCR)
predic1<-prediction(prob1,logistic_data$outcome)
performance(predic1,"auc")@y.values[[1]]
plot(performance(predic1,"tpr","fpr"),print.auc=TRUE,colorize=T,lwd=3,main="ROC Curves")
(6)美化图片
abline(a=0,b=1,lty=2,lwd=3,col="black")
(7)所有代码汇总如下:
D:\\ReseachSoftwore\\Rstudio
logistic_data<-read.csv("ROCdata.csv")
library(glmnet)#Logistic
fit1<-glm(Group~index1+index2+index3,data=logistic_data,family = binomial())
prob1<-predict(fit1,newdata = logistic_data,type = "response")
library(ROCR)
predic1<-prediction(prob1,logistic_data$outcome)
performance(predic1,"auc")@y.values[[1]
plot(performance(predic1,"tpr","fpr"),print.auc=TRUE,colorize=T,lwd=3,main="ROC Curves")