vlambda博客
学习文章列表

R语言进行多指标联合ROC曲线分析

投稿/科研合作:[email protected]

联系我们:137704924或372699348

群1-5:科研讨论、文献汇报群

网站:http://www.sleep-brain.com/R语言进行多指标联合ROC曲线分析

1. R软件安装:

首先进入 https://cran.r-project.org/

点击download R

R语言进行多指标联合ROC曲线分析

找到中国的下载链接网址:

R语言进行多指标联合ROC曲线分析

选择Download R for Windows

R语言进行多指标联合ROC曲线分析

选择install R for the first time.

R语言进行多指标联合ROC曲线分析

选择Download R 4.0.0 for Windows,安装下即可。

R语言进行多指标联合ROC曲线分析


2. 安装rtools软件包:

在https://cran.rstudio.com/bin/windows/Rtools/网址下载rtools软件包,并安装(安装最新版R 4.0需要安装)。


3.安装ROC曲线软件包:

打开Rstudio,点击右下角Packages下面的install,输入ROCR,点击install,自动会在左侧界面安装。

同理,输入glmnet安装该插件。

R语言进行多指标联合ROC曲线分析


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")