受试者工作特征曲线(ROC曲线),最初作为一种分析方法在二战时用于评价雷达性能(鉴别敌方,友方以及噪音),目前广泛应用于医学诊断、生物信息学、数据挖掘和机器学习等研究中。
ROC曲线可用于评价生物标记物(biomarker)的表现以及比较不同打分方法(scoring methods)。因此,ROC曲线是非常重要和常见的统计分析方法,下面我们就用两种方法绘制ROC曲线图吧~

part 1:pROC绘制ROC曲线

1.下载pROC包和ggplot2包

BiocManager::install("pROC")
BiocManager::install("ggplot2")

2.调用pROC包,调用ggplot2包以利用ggroc函数

library(pROC)
library(ggplot2)

3.建立曲线

data(aSAH)
rocobj1<-roc(aSAH$outcome,aSAH$s100b)
rocobj2<-roc(aSAH$outcome,aSAH$wfns)
rocobj3<-roc(aSAH$outcome,aSAH$ndka)

4.计算full AUC

auc(rocobj1)
auc(rocobj2)
auc(rocobj3)

5.绘制曲线

plot(rocobj1)

6.其他参数美化

plot(rocobj1, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2), grid.col=c("green", "red"), max.auc.polygon=TRUE,auc.polygon.col="skyblue",print.thres=TRUE)

7.计算partial AUC选择关注(sp或se)一定范围的数据

plot(rocobj1, print.auc=TRUE, auc.polygon=TRUE, partial.auc=c(1, 0.8),partial.auc.focus="sp", grid=c(0.1, 0.2),grid.col=c("green", "red"),max.auc.polygon=TRUE, auc.polygon.col="skyblue",print.thres=TRUE, reuse.auc=FALSE)

part 2:ROCR包绘制ROC曲线

1.下载ROCR包并调用

BiocManager::install("ROCR")
library(ROCR)

2.调用ROCR的内置示例数据

data(ROCR.simple)
df <- data.frame(ROCR.simple)

3.查看数据前六行

head(df)

4.performance函数计算tpr,fpr

pred<-prediction(df$predictions, df$labels)
perf<- performance(pred,"tpr","fpr")
perf
plot(perf,colorize=TRUE)

以上就是ROC曲线图的两种方法分享啦!

如果对如果对生信绘图感兴趣的小伙伴可以添加“小图”或者搜索微信公众号“作图帮”,让我们一起学习生信绘图,图图期待你们的加入!

R语言绘制ROC曲线图相关推荐

  1. R语言绘制生存曲线图

    R语言绘制生存曲线图 KMunicate是支持按照Morris等人的KMunicate研究推荐的方式生成Kaplan-Meier图. 1958年,Edward L. Kaplan 和Paul Meie ...

  2. 如何使用R语言绘制生存曲线图

    在预后研究中,生存曲线是常见的图片之一,目的是描述各组中患者的生存情况.好的生存曲线图不仅可以令读者.编辑和审稿专家眼前一亮,也能为论文增色不少. 接下来跟大家分享如何用R语言绘制生存曲线图. 第一步 ...

  3. R语言绘制ROC曲线如何画在一个图中

    $library("pROC") data(aSAH) 加载R语言自带的数据 roc1 <- roc(myData$label, myData$score) roc2 < ...

  4. R语言绘制ROC曲线(一组6幅)

    凌晨两点,如此艰难而又幸运地完成了一张ROC曲线图: 使用的是B站德民的代码.由于发现了列名不匹配这一问题,经过一番折腾后问题被巧妙解决了,上代码: for(i in 1:length(hubgene ...

  5. 用R语言绘制ROC曲线

    1.roc曲线的意义 ROC曲线就是用来判断诊断的正确性,最理想的就是曲线下的面积为1,比较理想的状态就是曲线下的面积在0.8-0.9之间,0.5的话对实验结果没有什么影响. 如图: 2.代码部分 i ...

  6. R语言绘制不一样的条形图

    绘制条形图的方法有很多,这里介绍如果用R语言绘制一个不一样的条形图 准备数据,这里为了方便,我们使用已经存在于gcookbook包中的一个数据集 首先需要调用该包,如果该包不存在,可以使用下面的方式安 ...

  7. R语言绘制Bump Chart

    R语言绘制Bump Chart的小示例 # install.packages("tidyverse") # install.packages("ggbump") ...

  8. R语言绘制环形树状图

    R语言绘制环形树状图 1.主要用到dendextend和circlize包绘图: library(dendextend) library(circlize)# 距离矩阵 d <- dist(US ...

  9. R语言绘制二维密度图

    R语言绘制二维密度图 二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示.二维密度图有几种类型,以下主要 ...

最新文章

  1. 【微信开发】微信开发 之 开启开发模式
  2. gin 优雅重启或停止
  3. python numba.jit 警告:cannot determine Numba type of class 'numba.dispatcher.LiftedLoop'(加速代码)
  4. dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
  5. 从70元到60亿,可以进来看看这篇文章
  6. sql trim()函数去掉两头空格
  7. Visual Studio 2019 16.3 正式发布,支持 .NET Core 3.0
  8. 201521123060 《Java程序设计》第11周学习总结
  9. 计算机组成原理包健百度云,计算机组成原理包健版答案
  10. PPT_设计师的十大秘诀
  11. 云服务器温控系统,服务器cpu温度监控软件
  12. python人工智能难不难_AI人工智能难不难 怎么进入人工智能行业
  13. 计算机网络科研项目申请书,唐乾利:如何进一步完善医药类科研课题申请书
  14. Frank-wolfe算法多OD对matlab实现
  15. jpg照片如何压缩变小?三步轻松搞定
  16. python量化之路:获取历史某一时刻沪深上市公司股票代码及上市时间
  17. java的Serialization机制
  18. NGFW防火墙的ASPF实现原理
  19. Swagger官网与官方文档
  20. 双亲委派机制以及打破双亲委派机制

热门文章

  1. 一次I/O问题引发的P0重大故障[改版重推]
  2. SpringBoot自适应异常处理
  3. 做管理必须避开的六个坑
  4. 查询增速200倍!看金融业数据库架构如何在蜕变中逆袭
  5. Spring 中的各种注解,光会用可不够哦!
  6. Java面试官:给Java面试者的八点建议
  7. 程序员的35个坏习惯,你有几条?
  8. 放大招,推荐10个神级办公软件和网站,让人大开眼界!
  9. 源码测评:来客推开发源码能用来做什么模式的商城?B2B2C?S2B2C?云集模式?淘宝模式?
  10. 拆解交易系统--服务稳定性