绘制平滑曲线_手把手教你绘制平滑ROC曲线

本文将手把手教你如何在R环境中安装和加载所需包,读取数据,拟合平滑ROC对象,并详细阐述平滑ROC曲线的绘制方法。通过实例,首先绘制一条平滑曲线,随后添加另一条ROC曲线,最后解释如何添加图例,完整呈现ROC曲线分析过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROC曲线是临床中常用的统计分析之一,R中可以绘制ROC曲线的包也有很多, pROC 包就是其中的佼佼者。 pROC包可以计算AUC和95%置信区间,可以可视化、平滑和比较ROC曲线。 今天来学习下怎么使用 pROC 包来绘制平滑ROC曲线
目  录
  • 1. 安装和加载R包

  • 2. 读取内置数据集

  • 3. 拟合平滑ROC对象

  • 4. 平滑ROC曲线的方法

  • 5. 先绘制1条平滑曲线

  • 6. 再添加1条ROC曲线

  • 7. 添加图例


1. 安装和加载R包

install.packages("pROC") # 安装pROC包library(pROC) # 加载pROC包

2. 读取内置数据集

使用pROC包自带的 aSAH数据集来演示。该数据集包括了113例动脉瘤蛛网膜下腔出血患者的临床和实验室资料。
data(aSAH)   # 加载内置数据集
View(aSAH)   # 查看数据集
e6d8dd489c19a68e5a09f207b7e875d5.pngaSAH数据集包括113名患者,7个变量

3. 拟合平滑ROC对象

在pROC包中,一般使用roc()函数来建立ROC对象。如果要拟合平滑ROC曲线,可以在roc()函数中使用 smooth参数。
roc1             smooth =TRUE) 
roc2             smooth =TRUE)
roc1;roc2# 下面代码与上面等效
roc3 smooth(roc3)
ffa2b0f36cb5da581603e8a847c04974.png
结果显示,roc1对象平滑后的AUC为0.74,而未平滑的原始AUC为0.731。

4. 平滑ROC曲线的方法

平滑ROC曲线的方法有很多,具体可查看帮助文档。
plot(roc3)
rs "binormal")  
plot(rs, add=TRUE, col="green")
rs2 "density")  
plot(rs2, add=TRUE, col="blue")
rs3 "fitdistr", density="lognormal")  
plot(rs3, add=TRUE, col="magenta")
rs4 "logcondens")  
plot(rs4, add=TRUE, col="brown")
rs5 "logcondens.smooth") 
plot(rs5, add=TRUE, col="orange")
a8254bc8c070486884d476e47290ccd9.png

5. 先绘制1条平滑曲线

plot(roc1,  # 前面构建的平滑ROC对象
     print.auc=TRUE, # 图像上输出AUC值
     print.auc.x=0.5,print.auc.y=0.5, # AUC值坐标为(x,y)
     auc.polygon=TRUE, # 将ROC曲线下面积转化为多边形
     auc.polygon.col="skyblue",  # 设置多边形的填充颜色
     grid= FALSE, # 不显示网格背景线
     legacy.axes=TRUE)  # 使横轴从0到1,表示为1-特异度
f46977216c4d00ee94a13f614f39645e.png

6. 再添加1条ROC曲线

plot.roc(roc2,
         add=TRUE,  # 增加曲线
         col = "red", # 设置曲线颜色
         print.auc=TRUE, # 图像上输出AUC
         print.auc.col = "red", # 设置AUC文本的颜色
         print.auc.x=0.5,print.auc.y=0.4)  # AUC的坐标为(x,y)
bf8fbb3b8b4489e316cbd9f9d2139365.png

7. 添加图例

legend(0.35,0.40,  # 图例位置x,y
       bty = "n",  # 图例样式
       title="",   # 添加图例标题
       legend=c("roc1","roc2"),  # 添加分组
       col=c("#FF2E63","#252A34"), # 颜色跟前面一致
       lwd=2)  # 线条粗细
62722ca6127d87f748837dfe0f72cd0d.png

公众号最近改版,以防失联,加个星标吧!

6ae49fedf815f138a5e86d2a45199bcd.gif

课程推荐0da863db3adbe781f672f469710a297a.png

829c72f2ed7f24204693c5d8091cc776.png

ddd51bd4946b495da0eb10f9a6896147.png

957d776f78f18a9c0ed6c94804991ab9.png

4440e6d3a9a92336cbc235d94ad23d3f.png

ce810826d392ca8a6b87ad5c2b936ce4.png

01777a425697708bd531930b80373249.png

584b72e92146cb86810b760772de4875.png

多点好看,少点脱发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值