mandy
mandy

Reputation: 503

add AUC by group on roc plots in R

I have roc plots for 4 groups, I want to add auc values for each group in the legend:

## draw plots
basicplot <- ggplot(roc_long, aes(d = outcome, m = prediction, color = model)) + geom_roc(n.cuts = 0) + 
+   style_roc(theme = theme_bw, xlab = "1-Specificity", ylab = "Sensitivity") 
## calculate auc
calc_auc(basicplot)
      PANEL group       AUC
    1     1     1 0.7718926
    2     1     2 0.9296029
    3     1     3 0.7790979
    4     1     4 0.8235286

annotate <- basicplot + 
     ggtitle("ROC plots for 4 outcomes") +
     theme(plot.title = element_text(hjust = 0.5)) +
     annotate("text", x = .75, y = .25, label = paste("AUC =", round(calc_auc(basicplot)["AUC"], 3)))

     annotate

My plots looks like this: enter image description here How can I add AUC to each group on the right?

Thanks!

Upvotes: 5

Views: 5386

Answers (1)

NERV_MAGI
NERV_MAGI

Reputation: 16

You can extract the specific cell in the calc_auc(basicplot), using round(calc_auc(basicplot)[["AUC"]][1/2/3/4], and wrap them in a new sentence. Also you may need \n to break the long sentence on several new lines.

Upvotes: 0

Related Questions