查看原文
其他

元分析R程序包 | 分类描述

郭丽萍、乔陆 OpenScience 2023-02-24

元分析R程序包分类描述


前言

Polanin et al (2017)对元分析相关的R包进行了系统地梳理,并在文中提供了一个完整的元分析示例(包括全部代码),这对于学习元分析极具有参考价值。渤海大学的范会勇老师团队翻译了全文,并授权本公众号转载。本译文的全文见:https://osf.io/wunx6/

英文原文信息:Polanin, J. R., Hennessy, E. A., & Tanner-Smith, E. E. (2017). A Review of Meta-Analysis Packages in R. Journal of Educational and Behavioral Statistics42(2), 206-242. 

译文内容较长,我们分为如下4个推文,本文为第2个,以下为目录:

1、元分析R程序包综述

2、元分析R程序包分类描述

3、元分析程序包使用指南

4、元分析程序包局限与展望


01

General Meta-analytic Packages


在63个程序包中有11个程序包为General Meta-analytic 程序包。此组程序包与传统元分析的大部分程序相同,只适用于一般性问题,不适用于某一特定领域的问题。因此,这11 个程序包更适合用于解决基础性元分析问题。例如,这些程序包只用几行简单的代码就可以计算固定效应或随机效应的加权平均值。


Metafor程序包是其中最受欢迎的程序包(Viechtbauer, 2015)。Metafor有许多功能,可以解决使用者的大部分问题,从计算效应量到估计随机效应模型再到制作综合结果图。另外,它还可以使用listwise deletion解决缺失值问题,使用多层建模处理层级相关的效应值,也可以进行调节效应分析、敏感性分析以及评价出版偏倚等问题。


除Metafor之外,还有几个其他几个程序包具有较为全面的功能。MAc(Del Re & Hoyt, 2015a) 和MAd(Del Re &Hoyt, 2015b)程序包分别用相关和标准平均差的效应值估计主效应的大小。因此,他们具有Metafor没有的一些功能,例如对效应值进行校正。类似的,metacorr (Laliberte, 2015)主要关注的也是相关效应值,但它不能处理层级相关的效应值。此外,与MAc相比,metacorr 的资料也相对较少。Meta(Schwarzer, 2015)和rmetaa (Lumley, 2012) 程序包也可以提供一些全面的的元分析功能,但并不能处理层级相关的效应值。Yang, Shi, and Xie (2016)的gmeta程序包包含多元元分析功能,可以处理层级相关的效应值。而产生于1999年的rmeta程序包是最古老的一种R程序包 (R Core Team, 2015)。


少数几个一般性的程序包包含了多种功能,但它们只用于某一特定领域。比如说,epiR程序包(Stevenson,2015)用于流行病学元分析研究,psychometric程序包(Fletcher,2015)用于应用心理测量学理论的元分析研究,例如,效度概化以及生成元分析模型的函数;metaplus程序除了其他通用功能外,还可以进行稳健元回归研究(Beath,2015)。

02

Genome Meta-Analytic Packages

基因和微阵列(microarray)元分析领域包含的程序包数量最多(n=16)。这些程序包都只针对特定领域,不适用于一般化的元分析,比如教育领域和社科领域。


其中5个程序包主要用于微阵列数据元分析,分别是MADAM (Kugler, Mueller, Ecker, & Graber, 2015),MAMA (Ihnatova, 2015),metaARRAY (Ghosh & Choi, 2015),MetaDE (Wang, Li, & Tseng, 2015)和MetaMA (Marot, 2015)。MAMA程序包可以计算效应量,计算固定效应模型或随机效应模型,还可以制作一些数据图,但此数据包使用时需要依靠GeneMeta、metaMA、metaARRAY这三个程序包。metaARRAY数据包主要用于对贝叶斯框架中大规模的微阵列数据进行元分析,并且包括使用公共可用数据对程序包功能的编写进行演示 (Ghosh & Choi, 2015)。MetaDE程序包为使用者提供了12种关于基因表达差异性(gene express)的元分析选项,使用者可以根据结果变量选择检验统计量,然后进行修正。MetaDE程序包可能是唯一一个可以处理缺失值的微阵列程序包,当缺失值少于30%时,它将自动填充缺失数据;当缺失数据多于30%时,它将自动忽略这些序列。MetaMA程序包将结合配对数据和非配对数据中的p值或t检验统计量来寻找基因表达差异性(Marot & Bruyere, 2015)。这里有一个使用公共数据对MetaMA程序包进行的演示((Marot & Bruyère, 2015)。Marot,Jaffrezic, and Rau的metaRNAseq程序包也有相似的功能,主要用来进行RNA序列实验(sequencing experiments)。


此类别中的其他程序包也执行不同的特定任务。Kangand Tseng(Kang,Tseng,2015a)的MetaPCA程序包进行因子降维程序;他们的另一个项目metaQC(Kang,Tseng,2015b)程序包主要力求改进数据的纳入和排除标准等。Lee (2015)的 metaSKAT主要用于“对稀有变异体基于基因的元分析”(p. 1)。Voorman, Brody, andLumley (2015)的skatMETA 和Voorman, Brody, Chen, and Lumley (2015)的seqMETA有相似的功能。metABEL (Struchalin & Aulchenko, 2015) 程序包主要用于对“定量或二元试验与SNP之间的全基因组关联扫描 ”进行元分析(p. 1)MultiMETA (Vuckovic, 2015) EasyStrata (Winker, 2015)专门处理全基因组数据。Zhao (2015) gap程序包主要对通用基因组测序进行元分析。

03

Multivariate Meta-Analytic Packages

Multivariate Meta-Analytic Packages程序包主要是多变量元分析类型,对应用型和高级研究者可能会有帮助。该类型的程序包(n=10)共享允许使用多个协变量或结果的多变量统计过程。


这类程序包进一步可以划分为能够处理相依型效应值(dependent effect size)的和不能处理相依型效应值的两类。在Multivariate Meta-Analytic Packages中,有7个程序包可以处理相依型效应值,其中3个主要进行一般的和传统的多变量元分析,mmeta(Luo,Chen,Su,& Chu,2015)、mvmeta(Gasparrini,2015)和mvmeta(Chen,2015)用于分析已知或可以估计层级相关效应值之间的协变量。例如,mvmeta程序包就是使用层级相关效应值中的协变量来调整结果效应量、结合多时间点拟合模型以及建立网络元分析模型或进行诊断测试。


另外3个程序包dosremata (Crippa, 2015)、metaSEM(Cheung, 2015)和robumeta (Fisher & Tipton, 2015) 用来计算效应量的相依性,它们并不要求计算效应量中的协变量,而是计算标准误的无偏估计。dosremata程序包主要用 Greenland and Longnecker (1992) Hamling and colleagues (2008)提出的方法估计协方差变异。robumeta程序包使用 Hedges, Tipton, and Johnson (2010)提出的稳健方差估计技术估计标准误。metaSEM使用结构方程模型的框架解释研究内的相依性,在metaSEM程序包的开发者网站上就可以获得一般性的说明和示例。这些程序包的好处是在不知道精确的效应值之间的协变量情况下,可以同时综合多变量相关效应值。尽管这些程序包都具有绘图功能,但robumeta (Fisher & Tipton, 2015) 可以根据研究将效应值进行分组并产生传统的森林图,这是这个程序包的独特之处。


第二类程序包主要用来建立元回归模型,但不能处理相依型效应值(n=3),因此,在使用metagen、metaLik、metatest这三个程序包时,分析者必须从每个研究中选择一个效应量纳入到模型中。metagen程序包具有执行几种不同类型的基于推理的元回归模型的能力。metaLik程序包可以“使用有符号对数似然比测试(the signed log-likelihood ratio test)对固定效应向量的标量分量的假设检验''(p. 9),还具有仿真功能。metatest程序包为元回归模型中的各种参数产生一系列的测试统计信息。

04

Diagnostic Test Accuracy 

Meta-Analytic Packages

虽然其他几个程序包的作者有具体说明可以使用他们的程序包来完成诊断性测验的精度元分析(例如metafor、mvmeta),但有5个专门为诊断元分析而设计的程序包,其中3个程序包只能完成一般的诊断元分析,另外两个程序包可以解决专门的数据问题。Mada(Dobler,2015)程序包可以估计固定和随机效应分析、进行调节效应分析和敏感性分析以及制作元分析结果图和接收者工作特征(ROC)曲线图。Metamisc(Debray,2015)数据包也可以处理预后测验(prognostic testing),它能采用频率或叶贝斯方法处理研究内的相依关系,但它不能进行调节标量分析和敏感性分析。CopulaREMADA(Nikoloulopoulos,2015)程序包主要使用的是二元和三元变量诊断测验的精确元分析。HSROC (Schiller & Dendukuri, 2015) 和Metatron (Huang, 2015)主要在参考测验不理想的情况下进行的诊断测验精度元分析。Metatron (Huang, 2015)不仅可以进行传统的诊断元分析,也可以估计特点研究对平均点估计的影响。此外,HSROC程序包可以使用分层建模技术同时分析研究内和研究间的变异,因此,这个程序包对由于分层聚类而导致的标准误非常有用。

05

Network Meta-Analysis Packages

网络元分析程序包主要有三个:gemtc(van Valkenhoef & Kuiper,2014)、pcnetmeta(Lin,Zhang,2015)和netmeta(Krahn,2015)。其中,gemtc程序包使用一般性的贝耶斯方法,而pcnetmeta程序包使用特殊性的贝耶斯方法进行以患者为中心的网络元分析,netmeta程序包是在图论的基础上使用频率论方法进行网络元分析。这三个程序包全部都有制图功能,包括森林图、网络图(network graph)和净热图(net heat plot)。pcnetmeta程序包依赖于另一个Gibbs 采样器进行参数估计,且这个采样器需要在网上单独下载(http://mcmc-jags.sourceforge.net)。有关网络元分析程序包的更多的讨论以及该功能的教程和解释,请参阅Neupane等人(2014)关于这些程序包的报告。

06

Bayesian Meta-Analysis Packages 

有两个程序包专门针对采用贝叶斯方法的元分析。Bamdit(Verde & Sykosch,2015)程序包能够对诊断测验的数据进行随机效应建模,计算效应值,并绘制贝叶斯ROC曲线图。它也可以通过ggplot2(Wickham,2009)在元分析中绘制每个研究的真阳性率和假阳性率图,并能使用不同的颜色来显示不同的亚组。第二个使用贝叶斯方法的是bspmma程序包,此程序包可以估计非参数和半参数随机效应元分析,但其制图能力有限。

07

Assessment of Bias Packages 

有5个程序包用来评价出版偏倚,其中4个用来评价元分析中出版偏倚的可能性。这4个程序包分别是PubBias(Thornley,2015)、SAMURAI(Noory 2015)、selectMeta(Rufibach,2015)和WeightFunctionModel(Vevea & Coburn,2015)。PubBias程序包用于评估被观测的积极效应的数量是否大于费舍Z检验的期望值。SAMURAI程序包可以补充分类变量和连续变量的缺失值,并绘制森林图和漏斗图。selectMeta程序包通过使用非参数和参数权重函数对潜在偏差进行建模,从而解决出版偏倚问题。WeightFunctionMode程序包可以使用网络用户界面(https://vevealab.shinyapps.io/WeightFunctionModel/)来运行R程序包,在这个程序中,用户需要完成一系列数据问题,选择变量(必要的话包括调节变量),建立期望的p值临界点,然后计算出Vevea和Hedges(1995,1996)出版偏倚的权重函数模型,并产生一个随机漏斗图。


这类中的最后一个程序包——metasens(Schwarzer 2015)是评估潜在偏倚来源的一个扩展包,它可以进行有限元分析,也可以通过漏斗图、等高线图、实验组效应以及残差选择偏倚的p值图来评价潜在的偏倚。

08

Packages With Specific Functionality

有9个程序包是对特殊数据类型或进行元分析某一特殊方面。Compute.es (Del Re,2015a)主要用来计算6种受普遍的效应量(Cohen’s d, Hedges’g, r, Fisher’s z, odds ratio, log odds ratio)以及效应量的变异、置信区间和p值。R中的MAc程序包和MAVIS GUI中就采用了这种个程序包。metap (Dewey, 2015)程序包可以通过不同的方法结合P值,如logit、平均P值、logs的和、p值和、z值和投票计数以及Wilkinson法。


有3个程序包扩展了现有的制图功能:

(1)扩展漏斗图(Langan, sutton, Higgins,&Gegory,2015),增加了统计显著性和异质性等高图;

(2)森林图(Gordon & Lumley, 2015),使用网格图形获得更高级的森林图选项;

(3)元图,使用R程序包中的meta, metafor和rmeta(Murrell, Scott, & Lu, 2014)输出。


还有三个程序包用于特殊数据类型的元分析,exactmeta (Yu & Tian, 2015)程序包对稀有事件数据进行固定效应元分析,ipdmeta(Kovalchik,2015)程序包对独立患者数据进行元分析,SCMA(Bulte, 2015)程序包对个案数据进行元分析。

最后,CRTsizee (Rotondi, 2015)程序包包含了元分析功效的估计。

09

GUI Applications 

有两个程序包具有GUI 功能:MAVIS(Hamilton,Mizumoto, Aydin,&Coburn,2015)和RcmdrPlugin。GUI程序的优点在于使用者不必知道如何编码或其他额外的知识。MAVIS程序包和SPSS有点类似,都是需用使用者点击一系列下拉菜单来完成。这个程序包可以预测固定效应模型和随机效应模型,还可以进行基础的调节效应分析和制图。RcmdrPlugin.MA程序包是Rcmdr程序包的补充。使用者首先要下载Rcmdr GUI,然后再添加元分析程序包。进入用户界面后从菜单中选择元分析选项。那些不想学习R程序语言的人们可以通过简单的点击选项来使用高水平的元分析功能。

翻 译:郭丽萍、乔陆

校 对:范会勇

排 版:赵加伟

Open Science Club

Make psychology open and trustworthy!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存