我正在进行荟萃分析,遇到了一个问题,希望有人可以帮助澄清。当我使用 escal 函数计算效应大小时,我得到其中一项研究(我们称之为研究 A)的负效应大小(Hedge 的 g)。但是,当我使用 metafor 包中的 rma 函数时,相同的效果大小变为正值。有趣的是,所有其他效应大小仍然遵循相同的方向。
还有其他人遇到过这两个函数之间的这种差异吗?或者您能解释一下为什么会发生这种情况吗?
我已附上森林图。该研究是 Camarena 等人,2014 年进行的。正确的效应大小应该是:-0.50 [-0.86, -0.15] 我使用Rstudio界面进行分析 这是我使用的代码:
datPr <- escalc(measure="SMD", m1i=Smean, sd1i=SSD, n1i=SizeS, m2i=Cmean, sd2i=CSD, n2i=SizeC, data=Suicide_Persistence)
datPr
resPr <- rma(measure="SMD", yi, vi, data=Suicide_Persistence)
resPr
forest(resPR, xlab = "Hedge's g", header = "Author(s), Year", slab = paste(Studies, sep = ", "), shade = TRUE, cex = 1.0, xlab.cex = 1.1, header.cex = 1.1, psize = 1.2)
我检查了数据,很明显研究 A 的效应大小应该是负的(即实验组平均得分小于对照组)。为了进一步确认,我使用 Review Manager (RevMan) 重新计算了研究 A 的效应大小,结果仍然是负数。
您在对
data=datPr
的通话中没有使用 rma()
,而是使用 data=Suicide_Persistence
。所以错误在于数据集yi
中的变量Suicide_Persistence
。