Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R: Plot multiple different coloured ROC curves using ROCR

The following code was taken from @adibender answer to "Multiple ROC curves in one plot ROCR". The code is partly from ?plot.performance.

library(ROCR)
data(ROCR.simple)
preds <- cbind(p1 = ROCR.simple$predictions, 
            p2 = abs(ROCR.simple$predictions + 
            rnorm(length(ROCR.simple$predictions), 0, 0.1)))

pred.mat <- prediction(preds, labels = matrix(ROCR.simple$labels, 
            nrow = length(ROCR.simple$labels), ncol = 2) )

perf.mat <- performance(pred.mat, "tpr", "fpr")
plot(perf.mat)

I want to illustrate several ROC curves in a single plot, like the code above, using the r package ROCR. However, i would want the ROC curves to be in different colours. How do i apply different colours to different curves? Thanks, in advance.

like image 337
warnbergg Avatar asked Dec 24 '22 21:12

warnbergg


1 Answers

Try this (you can do it with ROCR):

library(ROCR)
data(ROCR.simple)
preds <- cbind(p1 = ROCR.simple$predictions, 
               p2 = abs(ROCR.simple$predictions + 
                          rnorm(length(ROCR.simple$predictions), 0, 0.1)))
n <- 2 # you have n models
colors <- c('red', 'blue') # 2 colors
for (i in 1:n) {
   plot(performance(prediction(preds[,i],ROCR.simple$labels),"tpr","fpr"), 
                                           add=(i!=1),col=colors[i],lwd=2)
}

enter image description here

like image 58
Sandipan Dey Avatar answered Dec 26 '22 11:12

Sandipan Dey