You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DCA曲线特定X轴位置显示Model1与Model2的Y轴值

在DCA曲线指定位置标注Y轴数值(R语言)

核心实现思路

先从dcurves生成的DCA结果中提取曲线数据,筛选出指定X轴位置对应的Model1、Model2净获益值,再通过ggplot2的文本标注函数将数值添加到图中。

具体代码示例

假设你已通过dca()函数生成了DCA分析对象(命名为dca_result):

# 加载依赖包
library(data.table)
library(survival)
library(survminer)
library(dcurves)
library(ggplot2)

# 1. 提取DCA曲线的底层数据
dca_plot_data <- as.data.table(dca_result$plotdata)

# 2. 设置需要标注的目标X轴位置(替换为你实际需要的数值)
target_x <- 0.1

# 3. 筛选对应X位置的Model1、Model2的Y轴净获益值
label_data <- dca_plot_data[threshold == target_x & model %in% c("Model1", "Model2"), 
                            .(model, net_benefit)]

# 4. 绘制基础DCA曲线
base_plot <- plot(dca_result)

# 5. 添加数值标注及参考线
final_plot <- base_plot +
  # 添加数值标注,vjust控制上下偏移避免遮挡曲线
  geom_text(data = label_data,
            aes(x = target_x, y = net_benefit, label = round(net_benefit, 3)),
            vjust = -0.6, size = 3.5) +
  # 可选:添加垂直参考线明确X轴位置
  geom_vline(xintercept = target_x, linetype = "dashed", color = "gray50")

# 展示最终图
print(final_plot)

关键细节说明

  • dca_result$plotdata是dcurves存储曲线坐标的核心数据框,直接从中提取数值比手动计算更准确
  • round(net_benefit, 3)用于控制Y值小数位数,匹配你提到的0.255、0.300格式
  • 可通过调整vjust、hjust参数微调标注的位置,确保标注清晰不遮挡曲线

内容的提问来源于stack exchange,提问作者user2110417

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 07:40:33