使用 r 中的 `metafor` 包进行元分析时的简单事后测试

机器算法验证 r 多重比较 荟萃分析 事后 元回归
2022-04-13 14:30:44

我正在使用metaforR 进行荟萃分析。我想比较一个因素的 7 个水平(即不同类型的治疗)。

fit <- rma (yi, vi, mods = type_of_treatment - 1, data = dat)
fit

我发现几个网站解释了如何通过使用来比较级别anova()(例如,元回归后的事后分析http://www.metafor-project.org/doku.php/tips:testing_factors_lincoms?s[]=anova);但是,因为我有七个级别(即七种不同类型的治疗),我自己做比较是很麻烦的。

我在 multcomp 包中进行了尝试glht(),但以下命令提供了错误。

summary(glht(fit, linfct = mcp(~type_of_treatment = "Tukey"))

如果您能告诉我是否有任何简单的方法可以在级别之间进行成对比较,例如lmglht()emmeans()lm,我将不胜感激。

1个回答

您可以使用该contrMat()功能。像这样的东西应该工作:

summary(glht(fit, linfct=cbind(contrMat(rep(1,7), type="Tukey"))), test=adjusted("none"))

不过,您可能需要考虑对多个测试进行调整。查看help(summary.glht)一些选项。