我很少用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)) #需要的话,可以设置画布大小
目前我画出来的roc横坐标是1-0,纵坐标是0-1,这个要注意哦