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

Meta分析:如何将metaprop生成的森林图比例转换为百分比

问题原因

你遇到的转换不生效问题由两个配置错误导致:

  • 你设置的xlim参数范围仍基于原始0~1的比例值,乘以100转为百分比后,所有数值超出了预设的绘图范围,转换效果无法正常显示
  • 单独设置transf仅会转换x轴的坐标映射,右侧显示的效应值、置信区间文本列需要通过atransf参数单独设置转换规则

修正后代码

# 比例转百分比的转换函数
mytransf = function(x) x * 100

studies <- c("Study 1", "Study 2", "Study 3")
obs <- c(104, 101,79670)
denom <- c(1146, 2613, 147766)
m1 <- metaprop(obs, denom, studies, comb.random=FALSE,  
               byseparator=": ")
# 修正forest函数的参数配置
forest(m1, 
       print.tau2 = FALSE, 
       col.by="black", 
       text.fixed = "总事件数",
       text.fixed.w = "亚组合计", 
       rightcols = c("effect","ci"), 
       leftlabs=c("研究","事件数","总样本量"), 
       # xlim调整为百分比数值范围,对应原0~0.7的比例区间
       xlim=c(0,70),
       # 同时设置x轴坐标转换与右侧文本列数值转换
       transf=mytransf,
       atransf=mytransf,
       # 可选:修改x轴标签更符合百分比语义
       xlab="发生率(%)"
       )

补充说明

如果需要对显示的百分比增加百分号后缀,可以修改atransf的转换函数:

mytransf_with_percent <- function(x) {
  paste0(round(x * 100, 1), "%")
}

将该函数赋值给atransf参数即可实现数值后直接显示百分号的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:15:00