1

我使用带有以下代码的 metafor 包在 r 中制作了一个前线图:

res <- metafor::rma(cohens_d, variance, data = my_data)


par(mar=c(3.4,0,0,0))
par(cex=2.5, font=4)
metafor::forest.rma(res, alim=c(-3.75, 3.75), xlab = "Cohen's D with 95% CI", 
                slab = my_data$Paper)

这给了我图像: 森林图

我想翻转x轴,意思是右边有负数。关于如何做到这一点的任何想法?

谢谢!

4

2 回答 2

1

好的,这是一个非常荒谬的 hack,但它确实有效。基本上,您必须绘制两次绘图,一次添加点(带有反向符号),一次添加注释(没有反向符号)。

library(metafor)

dat <- get(data(dat.bcg))
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
res <- rma(yi, vi, data=dat)

### default plot
forest(res, xlim=c(-8,8))

### trick into reverse x-axis
forest(res, xaxt="n", transf=function(x) -1*x, annotate=FALSE, xlim=c(-8,8), xlab="Log Relative Risk")
axis(side=1, at=seq(-3, 3, 1), labels=seq(3,-3,-1))
par(new=TRUE)
forest(res, xaxt="n", xlim=c(-8,8), col="white", border="white", pch=NA, lty="blank", efac=NA, xlab="", slab=NA, mlab=NA)
par(new=FALSE)
于 2017-04-05T20:26:06.893 回答
0

在绘图之前,我只需翻转模型的估计系数(rma类的b组件):

res <- metafor::rma(cohens_d, variance, data = my_data)
res$b <- -res$b
于 2017-04-05T19:01:35.667 回答