我创建了一个向ROC对象显示的曲线图,使用

rocobj <- pred1
rocobj1 <- pred2
ggroc(list(sc1 = rocobj, sc2 = rocobj1))

我想补充一下关于每条曲线的信息. 在此之前,我使用:

annotate("text",x=0.15,y=0.1,label=paste0("\nloss: ", out[[2]][1], "\naccuracy: ",out[[2]][2]), "AUC: ", out[[2]][3],)

如何使ANNOTATE命令适应带有多个ROC对象的绘图?

推荐答案

annotate()label参数接受字符串标签的向量.你可以给它ROC曲线的AUC:

library(pROC)
roclist <- roc(outcome ~ ndka + wfns + s100b, data=aSAH)

library(ggplot2)
ggroc(roc.list) + annotate("text", 
    label=sprintf("AUC: %.2f", lapply(roclist, auc)), 
    x=0.5,
    y=c(0.5, 0.4, 0.3))

ROC curves with AUC annotations

我不知道有人可以将 colored颜色 映射到注释.要做到这一点,你需要直接使用aes_text().name列将用于着色,因此请确保它与ROC曲线相匹配:

# Build an annotation dataset with the "name" column
annot <- data.frame(
    label = sprintf("AUC: %.2f", lapply(roclist, auc)),
    x = 0.5,
    y = seq(from=0.5, along.with=roclist, by=-.1),
    name = names(roclist))
ggroc(roc.list) + geom_text(aes(x=x, y=y, label=label), data=annot)

ROC curves with colored AUC annotations

R相关问答推荐

如何在ggplot 2 geom_segment图表中将UTC转换为EET?

通过绘图 Select 线串几何体并为其着色

单击 map 后,将坐标复制到剪贴板

R创建一个数据透视表,计算多个组的百分比

在R中查找每个组不同时间段的总天数

在R中将特定列的值向右移动

错误:非常长的R行中出现意外符号

如何在R中合并两个基准点?

根据日期从参考帧中创建不同的帧

R中的哈密顿滤波

仅 Select 超过9行的CSV文件

将箭头绘制在图形外部,而不是图形内部

根据另一列中的值和条件查找新列的值

停止ggplot将多行减少到一行

我是否可以使用多个变异项来构建顺序列(标记多个问题)

将多个列合并为一个列的有效方法是什么?

减少雨云面之间的间距并绘制所有统计数据点

在生成打印的自定义函数中,可以通过变量将线型或 colored颜色 设置为NULL吗?

将仪表板中的值框大小更改为Quarto

Ggplot2:添加更多特定 colored颜色 的线条