首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将多条ROC曲线绘制在一张图中

如何将多条ROC曲线绘制在一张图中

01

问题来源

近日,小编遇到盟友咨询了作图的问题,杂志社让她将单个指标的ROC曲线和综合指标的ROC曲线放在一张图中,以方便比较,具体样式如下:

图1 样式参照图

02

实例演示:(本例来源于丁香园zcvb6网友的分享)

数据库来源于R自带的aSAH数据库,想比较s100指标与ndka指标的曲线下面积并绘制在一张图中,R代码如下:

install.packages("pROC")

library("pROC")

data(aSAH)

roc1

roc2

testobj

text(50, 50, labels=paste("p-value =", format.pval(testobj$p.value)), adj=c(0, .5))

legend("bottomright", legend=c("S100B", "NDKA"), col=c("1", "2"), lwd=2)

输出图形如下:

图2 两指标AUC比较图

3

拓展延伸

当然上图只是一个雏形图,还不够美观,大家可利用包中的函数进行美化,让曲线更加光滑,横纵坐标更好合理,去掉边框等诸多操作,本例关键是让大家找到合适的函数将多条ROC曲线绘制在一张图中,其关键函数就是lines函数。

大家可通过下面的简单例子来验证,任意假设三条曲线,通过lines函数将其绘制在一张图中,R代码如下:

x

y1

y2

y3

plot(y1 ~ x, type = "l")

lines(y2 ~ x, col = "red")

lines(y3 ~ x, col = "blue")

结果输出如下:

图3 实例展示图

为方便联盟内部成员交流,特建立微信交流群,由高校、科研院所、临床医生构成,由于群人数超过100,需要由工作人员拉你才能入群,工作人员二维码如下,添加时请备注“申请入群”:

科研统计交流群工作人员二维码

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718G0LZGU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券