用R绘制二元逻辑回归的ROC曲线的教程一

我很少用R绘制回归模型的ROC,这个用spss就可以实现的蛮好,还有graphpad挺好的,用R的话受限有点多,需要自己去添加函数丰富图片信息或者更改图片的信息,有些大佬的命令复制出来,总好像不是自己心中的那个。但,有,总比咩有强

Mydata<-read.csv(file.choose() ,header = TRUE, 
                 fileEncoding = "GBK")  #读取文件
df <- as.data.frame(Mydata)  #数据集
head(Mydata)  
library(pROC) #用这个软件包绘制roc曲线
model_1<-glm(Y~A+B+C+D+E, #这里是构建二元回归模型的联合预测概率,不是单个指标的
              data=Mydata, family = binomial(link ="logit"))
summary(model_1) #查看构建的模型
fitted.prob<-predict(model_1, newdata = Mydata, type = "response")  #这里不需要变动
Mydata$pred<-model_1$fitted.values
roc_multivar_1<-roc(Mydata$Y,Mydata[,"pred"])  #这里要把Y改为自己的结局变量即可
plot.roc(roc_multivar_1,col="tan",  #这是曲线的颜色
     print.auc=T,#显示AUC面积
     print.thres=T,#添加截点和95%CI
     smooth=T,#圆滑点曲线设置,可有可无
     grid=c(0.3,0.3) #grid是网格线设置,不需要的话直接删除
     ,grid.col=c("blue","brown"))
#至此roc曲线完成,注意这是模型的ROC,不是单个指标的ROC


par(mgp=c(1.6,0.6,0),mar=c(4,4,3,1))  #需要的话,可以设置画布大小

用R绘制二元逻辑回归的ROC曲线的教程一_第1张图片

目前我画出来的roc横坐标是1-0,纵坐标是0-1,这个要注意哦 

你可能感兴趣的:(r语言,逻辑回归,开发语言)