ROC曲线的横纵坐标轴重叠
用R语言做出的ROC曲线的横纵坐标不重叠,如下图,看起来怪怪的
plot.roc()函数会自动调整坐标轴范围和标尺,使得曲线和AUC值适应于绘图区域,然后导致横坐标轴和纵坐标轴的间距不同,所以最简单的方法就是调整R Studio右下角展示图片位置的那个框的大小,平时不是占右下1/4大小嘛,你把它调成占1/2大小,它的横坐标轴和纵坐标轴的间距就相同啦,但是export输出的结果还是不同的,所以可以调整好位置后截图保存[酷][酷][酷]。
第二种绘图方法,plot(1-roc5$specificities,roc5$sensitivities,type="l",col="red",lty=1,xlab = "1-Specificity",ylab = "Sensitivities",lwd=2),然后添加文本,text(0.8, 0.6, paste("AUC =", round(auc(roc5), 3)), col = "black", cex = 0.8),再用lines函数添加其他ROC曲线和AUC值,lines(1 - roc11$specificities, roc11$sensitivities, type = "l", col = "blue", lty = 1, lwd = 2)
lines(1 - roc12$specificities, roc12$sensitivities, type = "l", col = "green", lty = 1, lwd = 2)
text(0.8, 0.5, paste("AUC =", round(auc(roc11), 3)), col = "blue", cex = 0.8)
text(0.8, 0.4, paste("AUC =", round(auc(roc12), 3)), col = "green", cex = 0.8)。plot函数是手动设置的横纵坐标轴标签,所以间距是相同的,这种方法的输出结果间距也是相同的,不用截图保存
> head(aSAH,1)
gos6 outcome gender age wfns s100b ndka
29 5 Good Female 42 1 0.13 3.01
> roc1 <- roc(outcome~age,data=aSAH)
Setting levels: control = Good, case = Poor
Setting direction: controls < cases
> plot.roc(roc1,print.auc=TRUE,auc.polygon=TRUE,print.thres = TRUE)
>