首页 > 解决方案 > R中带有pROC包的face_wrap图(几个变量)

问题描述

我有三个自变量和一个二元结果变量。我正在使用pROC包进行分析,并希望将所有三个 ROC 图彼此相邻呈现,类似于face_wrap功能。例如,使用以下代码,

library(pROC)
data(aSAH)
roc_i <- roc(aSAH$outcome,
             aSAH$s100b,
             legacy.axes=TRUE,
             ci=TRUE, 
             boot.n=2000, 
             ci.alpha=0.9, 
             stratified=TRUE,
             plot=TRUE, 
             auc.polygon=TRUE, 
             max.auc.polygon=TRUE, 
             grid=TRUE,
             print.auc=TRUE, 
             print.thres='best', 
             print.thres.best.method='y',
             print.thres.adj=c(-0.05, 1.25),#,c(-0.05, 2.0),c(-0.05, 5.0)),
             print.thres.pattern="Cut-off: %.3f \n\nSp: %.3f \nSe: %.3f",
             print.thres.pattern.cex = 1.5,
             print.auc.cex = 1.5,
             print.auc.y=0.2,
             print.auc.x=0.8,
             cex.axis=1.5,
             cex.lab=1.5,
             print.thres.pch=16,
             print.thres.cex=2.0,
             cex.main=1.5)

我可以为单个自变量生成一张图片s100b,而我需要另外两张(对于其他 ind. Var 2 和 ind. Var 3)并彼此相邻绘制,例如:

标签: rggplot2rocproc-r-package

解决方案


您是否尝试过使用 pROC 的ggroc 功能

library(ggplot2)
library(pROC)

data(aSAH)
roc.list <- roc(outcome ~ s100b + ndka + wfns, data = aSAH)

g <- ggroc(roc.list)
g

                                                    

g + facet_grid(.~name) + theme(legend.position="none")

不过,您仍然需要手动添加额外信息。


推荐阅读