如何在R语言metafor库中反转漏斗图(funnel plot)的Y轴顺序
解决方法
你之前仅修改ylim参数不生效的原因是metafor的funnel()函数内部会自动匹配Y轴刻度和数值范围,不会因为范围反转就自动调整标签逻辑,可按以下两种方案实现需求:
方案1:使用新版metafor自带参数(推荐)
如果你的metafor版本≥3.0-0,直接添加yrev = TRUE参数即可自动反转Y轴:
library("metafor") funnel(x = prumer$AVGT, sei = prumer$invSE, xlab = "Observed effect", ylab = "1/SE", xlim = c(-3, 3), yrev = TRUE)
补充说明:如果你希望Y轴直接显示精度(1/SE),不需要提前计算
invSE再传给sei参数,只需把效应量原始标准误传给sei,再添加yaxis = "prec"参数即可自动计算并显示精度值。
方案2:手动自定义Y轴(适配所有版本)
如果是旧版本没有yrev参数,可以关闭默认Y轴后手动添加降序刻度:
library("metafor") # 绘制基础漏斗图,关闭默认Y轴输出 funnel(x = prumer$AVGT, sei = prumer$invSE, xlab = "Observed effect", ylab = "1/SE", xlim = c(-3, 3), ylim = c(2500, 0), yaxt = "n") # 手动添加降序Y轴刻度,seq的步长可根据你的数据范围调整 axis(side = 2, at = seq(0, 2500, 500), labels = rev(seq(0, 2500, 500)))
内容的提问来源于stack exchange,提问作者vojtam
相关产品推荐
相关产品推荐

