呈现多位主持人的荟萃分析结果?

机器算法验证 r 分类数据 参考 荟萃分析
2022-03-31 09:32:26

我希望使用可能的最佳实践来展示我的荟萃分析结果。但是,我在文章中找不到与我的输出类似的示例。这是我的模型和输出的简化(使用rma的功能)。MetaforR

rma (yi, vi, mods = ~ varA + varB)

对于那些不熟悉 rma 的人,这行代码是一个元分析混合效应模型,有 2 个调节器,变量A和变量B假设varA有 2 个分类级别和varB3 个分类级别。

输出将与此类似,没有任何数字:

intercept - estimate, statistic, p-value, 95% IC
varA.level2 - estimate, statistic, p-value, 95% IC
varB.level2 - estimate, statistic, p-value, 95% IC
varB.level3 - estimate, statistic, p-value, 95% IC

所有这些变量水平都与截距显着不同。我没有问题varA我可以很容易地说这level 1不同于level 2并报告varA.level2.

但是呢varBlevel 1不同于level 2,level 1来自level 3... 但level 2不同于3? 在这种情况下,你会在一篇文章中报告什么?

感谢您对文章、书籍的见解或参考...

1个回答

本质上,这两个版主有 6 种不同的组合。因此,您可以计算并呈现每种组合的估计/预测效果。这是一个使用metafor包中的数据集的示例,该数据集也恰好包括两个分别具有 2 级和 3 级的分类主持人:

### load data
dat <- get(data(dat.mcdaniel1994))

### calculate r-to-z transformed correlations and corresponding sampling variances
dat <- escalc(measure="ZCOR", ri=ri, ni=ni, data=dat)

### fit mixed-effects meta-regression model (struct has 2 levels, type as 3 levels)
res <- rma(yi, vi, mods = ~ struct + type, data=dat)

### compute the estimated/predicted correlation for each combination
predict(res, newmods=rbind(c(0,0,0), c(0,1,0), c(0,0,1),
                           c(1,0,0), c(1,1,0), c(1,0,1)), transf=transf.ztor, addx=TRUE, digits=2)

结果是:

  pred ci.lb ci.ub cr.lb cr.ub X.intrcpt X.structu X.typep X.types
1 0.26  0.22  0.30 -0.08  0.54         1         0       0       0
2 0.19  0.01  0.36 -0.19  0.52         1         0       1       0
3 0.30  0.19  0.40 -0.05  0.58         1         0       0       1
4 0.20  0.13  0.26 -0.15  0.50         1         1       0       0
5 0.13 -0.04  0.29 -0.24  0.47         1         1       1       0
6 0.24  0.10  0.36 -0.13  0.54         1         1       0       1

也可以将这些结果放入森林图(不显示个人估计,仅显示这些估计结果):

slabs <- c("struct = s, type = j", "struct = s, type = p", "struct = s, type = s", "struct = u, type = j", "struct = u, type = p", "struct = u, type = s")
par(mar=c(4,4,1,2))
forest(sav$pred, sei=sav$se, slab=slabs, transf=transf.ztor, xlab="Correlation", xlim=c(-.4,.7))
text(-.4, 8, "Structure/Type",       pos=4, font=2)
text(.7,  8, "Correlation [95% CI]", pos=2, font=2)

看起来像这样:

估计相关性的森林图

呈现所有 6 种组合有一点冗余,因为您的模型假设两个调节器的影响是相加的。但我认为这使结果非常清楚。