0

我正在使用该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

输出显示auctxt2 个面板对应于anchor变量中的 2 个级别,并且组数与级别数对应name,因此必须有一种方法来指定馈送/排列我的标签以匹配颜色...

4

0 回答 0