pROC带你轻松搞定ROC曲线绘制
创作时间:
作者:
@小白创作中心
pROC带你轻松搞定ROC曲线绘制
引用
1
来源
1.
http://www.biocloudservice.com/wordpress/?p=56547
ROC曲线(Receiver Operating Characteristic Curve)是医学诊断试验和预测模型性能评估中常用的一种工具。本文将介绍如何使用R语言中的pROC包来绘制和分析ROC曲线。
一、数据准备与pROC包加载
为了演示如何使用pROC包,我们将采用aSAH数据集作为示例。这是一个经典的脑动脉瘤研究数据集,包含了200个亚实质性蛛网膜下腔出血(aSAH)病例的相关信息。数据集包括11个变量,如年龄、颅内压、术前状态等。
首先,我们需要加载必要的R包并加载aSAH数据集:
# 加载MASS包
library(MASS)
# 加载pROC包
library(pROC)
# 加载aSAH数据集
data(aSAH)
二、使用roc()进行ROC分析
在aSAH数据集中,我们用age这个数值型预测变量来预测outcome二分类因变量的取值,并且指定因变量的两个水平分别为”Good”和”Poor”。下面的代码展示了如何使用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.col=c("#FF8C00", "#FF8C00"),
# 不显示最佳阈值的位置
print.thres=FALSE,
# 图形标题
main="ROC curve for aSAH dataset",
# ROC曲线颜色
col="#FF2E63",
# 绘制旧式的轴刻度标签
legacy.axes=TRUE,
# 打印AUC值时使用橙色文本
print.auc.col="#FF8C00")
绘制出的ROC曲线如下图所示:
三、曲线比较与p值添加
为了检验两条曲线的p值,我们可以引入另一条曲线,参数更改为aSAH$s100b,并使用add=TRUE将它与上一条曲线放置在同一图上:
# 使用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)
接下来,使用roc.test()函数对前面得到的两条ROC曲线roc1和roc2进行比较,并得出它们是否具有显著差异:
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值
最终得到的结果如下图所示:
通过本文的介绍,读者应该能够掌握如何使用pROC包对ROC曲线进行绘制和分析。建议读者通过实践进一步熟悉这些方法,以便在实际研究中更好地应用。
热门推荐
.NET Framework 4.0.3更新内容详解
单面瓦楞机使用技巧全攻略:从安全操作到维护保养
从创新到革命:爱伯特·琼斯与瓦楞纸板的百年传奇
瓦楞纸板:环保包装的新宠儿
遭遇交通事故?教您如何收集证据保护自己
法务部门如何保障企业合法权益
数据集成REST API:2024年顶级实践技巧
《包青天》再掀热潮:从历史到荧幕的传奇蜕变
牛筋炖土豆,你get到美味秘诀了吗?
周杰版包青天:一个少年的诞生
冬日洛阳:一座城的诗意与温暖
洛阳牡丹文化节:国色天香的文化盛宴
《哪吒》爆红:结界兽的搞笑与战力揭秘!
骨科医生推荐:科学健身远离膝盖痛
丁香医生推荐:如何通过日常锻炼预防膝盖疼痛?
复旦专家推荐:中医养生缓解膝盖痛
秋冬季节如何预防膝盖疼痛?
宠物情感密码:解读猫猫的8种行为,看看你是否是它的终身依靠!
Logseq-Git-Sync-101:高效云端知识管理神器
于根伟:从“川军克星”到天津泰达传奇
爆肝100小时教你用Logseq高效管理信息!
GitHub助力Logseq云端同步的最佳实践
于根伟能否卫冕中国金帅奖?从2024赛季表现看获奖前景
CBA明星VS林书豪:谁更拼?
从乡村学校到CBA舞台:一个扣篮冠军的追梦之路
新赛季CBA:谢智杰与王凡懿谁能成为最佳新秀?
于根伟:从金帅奖到主场不败,天津足球的旗帜人物
总重量冠军教你设计钓鱼比赛奖项
钓鱼比赛:总重量奖VS最具人气王
冬季美白攻略:维C+防晒,科学护肤不踩坑