R语言绘制ROC曲线图
受试者工作特征曲线(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曲线图相关推荐
- R语言绘制生存曲线图
R语言绘制生存曲线图 KMunicate是支持按照Morris等人的KMunicate研究推荐的方式生成Kaplan-Meier图. 1958年,Edward L. Kaplan 和Paul Meie ...
- 如何使用R语言绘制生存曲线图
在预后研究中,生存曲线是常见的图片之一,目的是描述各组中患者的生存情况.好的生存曲线图不仅可以令读者.编辑和审稿专家眼前一亮,也能为论文增色不少. 接下来跟大家分享如何用R语言绘制生存曲线图. 第一步 ...
- R语言绘制ROC曲线如何画在一个图中
$library("pROC") data(aSAH) 加载R语言自带的数据 roc1 <- roc(myData$label, myData$score) roc2 < ...
- R语言绘制ROC曲线(一组6幅)
凌晨两点,如此艰难而又幸运地完成了一张ROC曲线图: 使用的是B站德民的代码.由于发现了列名不匹配这一问题,经过一番折腾后问题被巧妙解决了,上代码: for(i in 1:length(hubgene ...
- 用R语言绘制ROC曲线
1.roc曲线的意义 ROC曲线就是用来判断诊断的正确性,最理想的就是曲线下的面积为1,比较理想的状态就是曲线下的面积在0.8-0.9之间,0.5的话对实验结果没有什么影响. 如图: 2.代码部分 i ...
- R语言绘制不一样的条形图
绘制条形图的方法有很多,这里介绍如果用R语言绘制一个不一样的条形图 准备数据,这里为了方便,我们使用已经存在于gcookbook包中的一个数据集 首先需要调用该包,如果该包不存在,可以使用下面的方式安 ...
- R语言绘制Bump Chart
R语言绘制Bump Chart的小示例 # install.packages("tidyverse") # install.packages("ggbump") ...
- R语言绘制环形树状图
R语言绘制环形树状图 1.主要用到dendextend和circlize包绘图: library(dendextend) library(circlize)# 距离矩阵 d <- dist(US ...
- R语言绘制二维密度图
R语言绘制二维密度图 二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示.二维密度图有几种类型,以下主要 ...
最新文章
- 【微信开发】微信开发 之 开启开发模式
- gin 优雅重启或停止
- python numba.jit 警告:cannot determine Numba type of class 'numba.dispatcher.LiftedLoop'(加速代码)
- dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
- 从70元到60亿,可以进来看看这篇文章
- sql trim()函数去掉两头空格
- Visual Studio 2019 16.3 正式发布,支持 .NET Core 3.0
- 201521123060 《Java程序设计》第11周学习总结
- 计算机组成原理包健百度云,计算机组成原理包健版答案
- PPT_设计师的十大秘诀
- 云服务器温控系统,服务器cpu温度监控软件
- python人工智能难不难_AI人工智能难不难 怎么进入人工智能行业
- 计算机网络科研项目申请书,唐乾利:如何进一步完善医药类科研课题申请书
- Frank-wolfe算法多OD对matlab实现
- jpg照片如何压缩变小?三步轻松搞定
- python量化之路:获取历史某一时刻沪深上市公司股票代码及上市时间
- java的Serialization机制
- NGFW防火墙的ASPF实现原理
- Swagger官网与官方文档
- 双亲委派机制以及打破双亲委派机制