我正在使用该plotROC
程序包创建具有多个测量值的 ROC 曲线我想通过提取 AUC 值(而不是复制粘贴)将 AUC 值的单个标签添加到每个接受者操作特征 (ROC) 曲线,但我遇到了错误考虑到我也在尝试解决问题。该direct_labels()
函数适用于单个图,但不适用于刻面。
这产生了我想要的多面图。
plot <- ggplot(longdf, aes(d = D, m = M, color = name )) + # multiple curves on each plot
geom_roc() + # plots the ROC curve
facet_wrap (~ anchor) # Separate plots for each anchor
但是当我尝试像这样打印 AUC 值时:
# Save AUC values to add as labels
auctxt <- calc_auc(plot)
auctxt$label <- sprintf("AUC = %.2f", auctxt$AUC) # 2 digitsr
auctxt
# Output: Panel corresponds with the right `anchor` variable (but the 2 anchors have proper names, and group with `name`
PANEL group AUC label
1 1 1 0.5329524 AUC = 0.533
2 1 2 0.4848525 AUC = 0.485
3 1 3 0.5855700 AUC = 0.586
4 2 1 0.5212598 AUC = 0.521
5 2 2 0.4770866 AUC = 0.477
6 2 3 0.4323622 AUC = 0.432
# Create plot, showing AUC labels
direct_label(plot, labels = auctxt$label, size = 3.5)
我收到错误
Error: Aesthetics must be either length 1 or the same as the data (6): label and colour
输出显示auctxt
2 个面板对应于anchor
变量中的 2 个级别,并且组数与级别数对应name
,因此必须有一种方法来指定馈送/排列我的标签以匹配颜色...