r roc曲线 语言_【R语言】0基础如何用R语言绘制ROC曲线

57edc1189803198221163b4ee5daacee.png

视频地址戳这个


首先按照惯例给大家看一下我们的原始数据长什么样子:

4529d305d474429bd31267c561f7524e.png

然后就可以加载包导入数据了

rm(list=ls())
library(openxlsx)
library(pROC)
library(ggplot2)

lxrdata<-read.xlsx("ROC.xlsx", sheet =1)

然后就可以读取数据并绘制了

lxrroc1 <- plot.roc(lxrdata$gold_standard, lxrdata$Atest)

best<-coords(lxrroc1, "best", ret ="all", transpose =F)

plot.roc(lxrroc1,col="#FF6665", identity.col ="grey", legacy.axes=T)

legend("bottomright",
       c(paste('AUC=',round(lxrroc1$auc,3),sep = ""),
         paste("cutoff value=",round(best$threshold, 3),sep = ""),
         paste('Spensitivity=',round(best$sensitivity,3),sep = ""),
         paste('Specificity=',round(best$specificity,3),sep = "")),
)

col后面是曲线的颜色

identity.col可以修改参考线的颜色

round用于取整,如果不想要可以不用

最终结果如下图

8f029bdd7f815f43aab3f50da5a4c678.png

如果需要将2种及以上ROC曲线集成到一张图里面,可以这么操作

首先分别计算每一条ROC曲线的相关数据:

rm(list=ls())
library(openxlsx)
library(pROC)
library(ggplot2)

lxrdata<-read.xlsx("ROC.xlsx", sheet =1)

lxrroc1 <- plot.roc(lxrdata$gold_standard, lxrdata$Atest)
lxrroc2 <- plot.roc(lxrdata$gold_standard, lxrdata$Btest)
lxrroc3 <- plot.roc(lxrdata$gold_standard, lxrdata$ABtest)

然后先绘制第一条,再把每一条曲线添加上去

plot.roc(lxrroc1,col="#FF6665", identity.col ="grey", legacy.axes=T)
plot.roc(lxrroc2,col="#356567",  legacy.axes=T,add = T)
plot.roc(lxrroc3,col="#659BCD",  legacy.axes=T,add = T)

legend("bottomright",
      c("Atest","Btest","ABtest"),
       col = c("#FF6665","#356567","#659BCD"),
       lwd = 2)

其中add 表示添加的曲线,

注意图例里面三种颜色是和绘图的三种颜色一一对应的

最终结果如下图

2c4841d684d9318816bfcf92a8123a65.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值