vlambda博客
学习文章列表

R语言系列X4:ROC制作之geomROC包详解


导读

    在R中做ROC分析、画ROC曲线的包已经有很多了,像pROC、ROCit等,但是想把几条ROC曲线画在一起,并且随意调节相关参数,仍然不是那么容易的事情。ggplot2包画图功能强大,可以随意调节图形的参数。因此,我基于ggplot2包开发了geomROC包,可以随意画ROC曲线。

1、安装包





devtools::install_github('yikeshu0611/geomROC')


    安装geomROC包的时候,会一起安装ROCit包、pROC包、ggplot2包,并且是依赖关系,geomROC包对数据的处理支持ROCit包和pROC包,画图基于ggplot2包,所以是依赖关系,也就是调用geomROC包时,这个3个包会同时被调用。


2、做3个ROC




library(geomROC)r1=rocit(score = Diabetes$chol, class = Diabetes$dtest)r2=rocit(score = Diabetes$bmi, class = Diabetes$dtest)r3=rocit(score = Diabetes$hdl, class = Diabetes$dtest)


3、画ROC曲线



    做完分析,我就想画图,并且把他们画在一起。画图的命令只有1个geom_roc,要配合ggplot()命令一起使用。


3.1画1条ROC曲线

ggplot()+ geom_roc(r1)


R语言系列X4:ROC制作之geomROC包详解


3.2画2条ROC曲线

ggplot()+ geom_roc(r1)+ geom_roc(r2)

R语言系列X4:ROC制作之geomROC包详解


3.3画3条ROC曲线

ggplot()+ geom_roc(r1)+ geom_roc(r2)+ geom_roc(r3)


R语言系列X4:ROC制作之geomROC包详解


4、美化一下



    上面的图看起来是不是太单调了,没有用颜色(color)或者线型(line type)区分他们,那就加个颜色、大小、线型吧。如果你熟悉ggplot2,那下面的操作就不用我教了吧,完全和ggplot2一样。

4.1加个颜色

ggplot()+ geom_roc(r1,color='red')+ geom_roc(r2,color='blue')+ geom_roc(r3)


R语言系列X4:ROC制作之geomROC包详解


4.2变个大小

ggplot()+ geom_roc(r1,size=1)+ geom_roc(r2,size=2)+ geom_roc(r3,size=3)


R语言系列X4:ROC制作之geomROC包详解


4.3变个线型

ggplot()+ geom_roc(r1,linetype=1)+ geom_roc(r2,linetype=2)+ geom_roc(r3,linetype=3)



R语言系列X4:ROC制作之geomROC包详解


5.加个图例



    上面我们设置了color,linetype,size,这个只是设置了图片的内容,并没有加入图例,尤其是那个哪条曲线的AUC是多少,下面我们把这个东西加入进去,如果你是ggplot2用户,你应该知道怎么做。

5.1给1条曲线加个颜色图例

ggplot()+ geom_roc(r1,aes(color='chol'))


R语言系列X4:ROC制作之geomROC包详解


5.2给2条曲线加个颜色图例

ggplot()+ geom_roc(r1,aes(color='chol'))+ geom_roc(r2,aes(color='bmi'))


R语言系列X4:ROC制作之geomROC包详解


5.3给3条曲线加个颜色图例

ggplot()+ geom_roc(r1,aes(color='chol'))+ geom_roc(r2,aes(color='bmi'))+ geom_roc(r3,aes(color='hdl'))


R语言系列X4:ROC制作之geomROC包详解


5.4给3条曲线加个线性(linetype)图例

ggplot()+ geom_roc(r1,aes(linetype='chol'))+ geom_roc(r2,aes(linetype='bmi'))+ geom_roc(r3,aes(linetype='hdl'))


R语言系列X4:ROC制作之geomROC包详解


6、加个对角线




使用roc_diagonal()加条对角线

ggplot()+ geom_roc(r1,aes(color='chol'))+ geom_roc(r2,aes(color='bmi'))+ geom_roc(r3,aes(color='hdl'))+ roc_diagonal()


R语言系列X4:ROC制作之geomROC包详解


7、美化一下




使用roc_theme()一键美化

ggplot()+ geom_roc(r1,aes(color='chol'))+ geom_roc(r2,aes(color='bmi'))+ geom_roc(r3,aes(color='hdl'))+ roc_diagonal()+ roc_theme()


R语言系列X4:ROC制作之geomROC包详解


总结






    这样画ROC曲线就简单很多了是不是,想怎么画怎么画,分析出结果,直接画图。 更多细节设置及视频教程看这里。

R语言系列X4:ROC制作之geomROC包详解

(购买后可入群)


精鼎特邀

---R语言系列---






----------------------------------------------

整理不易,欢迎点亮再看!