如何用R语言做出的ROC曲线横纵坐标是重叠的?(标签-R语言|关键词-坐标轴)

ROC曲线的横纵坐标轴重叠
用R语言做出的ROC曲线的横纵坐标不重叠,如下图,看起来怪怪的

img


用Prism做出的ROC曲线横纵坐标是重叠的,如下图

img


我的问题
如何让R语言做出来的ROC曲线图的横纵标轴重叠,就像Prism做出来的一样
感谢

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函数是手动设置的横纵坐标轴标签,所以间距是相同的,这种方法的输出结果间距也是相同的,不用截图保存

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: R语言快速画出ROC曲线和算出可信区间和p值中的 1. 画ROC曲线 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    > 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)
    > 
    


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^