2016-02-21 2 views
1

У меня есть этот ROC сюжет:Как заполнить AUC участка ROC в R?

library(Epi) 
library(pROC) 
data(aSAH) 
data <- aSAH 
plot.roc(data$outcome, data$s100b) 

Я хочу, чтобы цвет Area under the curve: 0.7314.

Я попытался вариации на ...

x <- seq(1, 0, by = - .001) 
polygon(x, roc(data$outcome, data$s100b), 
     col = rgb(.35,0.31,0.61, alpha = 0.4), 
     border = rgb(.35,0.31,0.61, 0.4), 
     lwd=2) 

enter image description here ... и получаю сообщение об ошибке: Error in xy.coords(x, y) : 'x' and 'y' lengths differ.

Как можно отрегулировать длину?

ответ

2

plot.roc функция от pROC имеет встроенные параметры для включения (auc.polygon) и настройки (auc.polygon.col, auc.polygon.border и т.д., см ?plot.roc) отображение ППК. В вашем случае вы можете использовать:

plot.roc(data$outcome, data$s100b, 
    auc.polygon = TRUE, 
    auc.polygon.col=rgb(.35,0.31,0.61, alpha = 0.4), 
    auc.polygon.border=rgb(.35,0.31,0.61, 0.4)) 
1

Попробуйте

library(Epi) 
library(pROC) 
data(aSAH) 
data <- aSAH 
res <- plot.roc(data$outcome, data$s100b) 
polygon(with(res, cbind(specificities, sensitivities)), 
     col = rgb(.35,0.31,0.61, alpha = 0.4), 
     border = rgb(.35,0.31,0.61, 0.4), 
     lwd=2) 
+0

Спасибо. Это полезно, но оно только оттенки от диагонали вверх - не 0,7 всей поверхности, или это так? Я могу быть смущен ... – Toni

+2

@Toni вы ответили и попробовали что-нибудь сами? 'rbind (с (res, cbind (специфичность, чувствительность)), c (0,0))' возможно? – rawr

Смежные вопросы