使用ROCit绘制多个ROC曲线

时间:2019-12-17 14:53:48

标签: r

我想使用ROCit创建ROC曲线。但是我不知道如何在同一图中绘制两条ROC曲线。

例如:

data("Diabetes")
library(ROCit)
plot(rocit(score = Diabetes$chol, class = Diabetes$dtest, negref = "-"))
par(new=TRUE)
plot(rocit(score = Diabetes$bmi, class = Diabetes$dtest, negref = "-"))

在两者之间使用par命令可以使它正常工作,但是我必须全部手动设置颜色,而且图例也不能正确反映数据。

是否可以使用ROCit比较同一图中的不同模型?

1 个答案:

答案 0 :(得分:0)

绘制第一个ROCit对象,然后为后续对象添加线。

请注意,由于某些原因,后续的被指定为$ TPR〜$ FPR。

data(Diabetes)
library(ROCit)

# ROCit objects
roc_emp1 <- rocit(score = Diabetes$chol, class = Diabetes$dtest, negref = "-") 
roc_emp2 <- rocit(score = Diabetes$bmi, class = Diabetes$dtest, negref = "-") 

# plot the first, then the second, then add the legend
plot(roc_emp1, col = c(1,"gray50"), 
     legend = FALSE, YIndex = FALSE)
lines(roc_emp2$TPR ~ roc_emp2$FPR, 
      col = 2, lwd = 2)
legend("bottomright", col = c(1,2),
       c("Empirical ROC 1", "Empirical ROC 2"), lwd = 2)