pROC带你轻松搞定ROC曲线绘制
一、数据的准备与pROC包的加载
# 加载MASS包
library(MASS)
# 加载pROC包
library(pROC)
# 加载aSAH数据集
data(aSAH)
二、使用roc()进行ROC分析
#使用roc()来建立ROC对象
roc1 <- roc(aSAH$outcome, aSAH$age,
levels=c("Good", "Poor"))
# 绘制ROC曲线并进行个性化设置
plot(roc1,
# 打印AUC值
print.auc=TRUE,
# 设置打印AUC值的x轴位置
print.auc.x=0.4,
# 设置打印AUC值的y轴位置
print.auc.y=0.5,
# 不生成ROC曲线下方多边形
auc.polygon=FALSE,
# 设置两个轴间隔的大小
grid=c(0.4, 0.3),
# 设置两个轴间隔的颜色
grid.col=c("#FF8C00", "#FF8C00"),
# 不显示最佳阈值的位置
print.thres=FALSE,
# 图形标题
main="ROC curve for aSAH dataset",
# ROC曲线颜色
col="#FF2E63",
# 绘制旧式的轴刻度标签
legacy.axes=TRUE,
# 打印AUC值时使用橙色文本
print.auc.col="#FF8C00")
三、曲线的比较与p值的添加
#使用roc()来建立ROC对象
roc2 <- roc(aSAH$outcome, aSAH$s100b, levels = c("Good", "Poor"))
# 绘制 ROC 曲线
plot(roc2, col = "blue", add=TRUE, # 增加曲线,
print.auc = TRUE,
main = "ROC curve for S100B",
xlab = "1 - Specificity", ylab = "Sensitivity",
print.auc.x=0.6,print.auc.y=0.6)
testp <- roc.test(roc1,roc2) # 检验两条曲线
text(0.4, 0.2, # 设置添加p值的位置(x,y)
labels=paste("P value =", format.pval(testp$p.value)),
adj=c(0, 0.5)) # 在图上添加P值
小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!
定制生信分析
服务器租赁
扫码咨询小果
往期回顾
01 |
02 |
03 |
04 |