Я хочу построить кривые RO C для 5 оценочных моделей, используя приложение R's pROC
. Поскольку я использую оттенки серого, которые могут визуально выглядеть неразличимыми, поэтому я хочу подчеркнуть различные типы линий, назначая разные pch
различным кривым RO C, однако я обнаружил, что функция lines()
совершенно не реагирует на pch
варианты.
Кроме того, когда я хочу пометить их соответствующие значения AU C, используя опцию print.auc
, помимо модели по умолчанию (Модель 1), функции roc()
и lines()
, похоже, работают , Показано только значение AU C для первой модели.
Будет очень признательно, если кто-нибудь подскажет мне несколько возможных способов достижения желаемого результата. Ниже мой текущий код для сюжета и вывода.
### load the data ###
library(readxl)
dataURL <- "https://www.dropbox.com/s/vri9fx2xa1pfj7w/predict.xlsx?dl=1"
temp = tempfile(fileext = ".xlsx")
download.file(dataURL, destfile=temp, mode='wb')
predict <- readxl::read_excel(temp, sheet =1)
### plotting and labelling ###
library(pROC)
roc.pred2 <- roc(predict$IAC, predict$phat2, percent = TRUE, main = "Smoothing")
roc.pred3 <- roc(predict$IAC, predict$phat3, percent = TRUE, main = "Smoothing")
roc.pred4 <- roc(predict$IAC, predict$phat4, percent = TRUE, main = "Smoothing")
roc.pred5 <- roc(predict$IAC, predict$phat5, percent = TRUE, main = "Smoothing")
plot.roc(predict$IAC, predict$phat1, percent = TRUE, main = "ROC curves", add = FALSE, asp = NA, print.auc = TRUE)
lines(roc.pred2, type = "l", lty = 2, col = "grey35")
lines(roc.pred3, type = "l", lty = 3, col = "grey48")
lines(roc.pred4, type = "l", lty = 4, col = "grey61")
lines(roc.pred5, type = "l", lty = 1, pch = 24, col = "grey76")
legend("bottomright",
legend = c("Model 1", "Model 2", "Model 3", "Model 4", "Model 5"),
col = c("black", "grey35", "grey48", "grey61", "grey76"),
lty = c(1, 2, 3, 4, 1))