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
相关产品推荐
相关产品推荐

