CRAN Task View: Meta-Analysis
|Maintainer:||Michael Dewey, Wolfgang Viechtbauer|
|Contact:||lists at dewey.myzen.co.uk|
|Contributions:||Suggestions and improvements for this task view are very welcome and can be made through issues or pull requests on GitHub or via e-mail to the maintainer address. For further details see the Contributing guide.|
|Citation:||Michael Dewey, Wolfgang Viechtbauer (2022). CRAN Task View: Meta-Analysis. Version 2022-08-25. URL https://CRAN.R-project.org/view=MetaAnalysis.|
|Installation:||The packages from this task view can be installed automatically using the ctv package. For example, |
ctv::install.views("MetaAnalysis", coreOnly = TRUE) installs all the core packages or
ctv::update.views("MetaAnalysis") installs all packages that are not yet installed and up-to-date. See the CRAN Task View Initiative for more details.
This task view covers packages which include facilities for meta-analysis of summary statistics from primary studies. The task view does not consider the meta-analysis of individual participant data (IPD) which can be handled by any of the standard linear modelling functions but it does include some packages which offer special facilities for IPD.
The standard meta-analysis model is a form of weighted least squares and so any of the wide range of R packages providing weighted least squares would in principle be able to fit the model. The advantage of using a specialised package is that (a) it takes care of the small tweaks necessary (b) it provides a range of ancillary functions for displaying and investigating the model. Where the model is referred to below it is this model which is meant.
Where summary statistics are not available a meta-analysis of significance levels is possible. This is not completely unconnected with the problem of adjustment for multiple comparisons but the packages below which offer this, chiefly in the context of genetic data, also offer additional functionality.
Preparing for meta-analysis
- The primary studies often use a range of statistics to present their results. Convenience functions to convert these onto a common metric are presented by: compute.es which converts from various statistics to d, g, r, z and the log odds ratio, MAd which converts to mean differences, and metafor which converts to effect sizes an extensive set of measures for comparative studies (such as binary data, person years, mean differences and ratios and so on), for studies of association (a wide range of correlation types), for non-comparative studies (proportions, incidence rates, and mean change). It also provides for a measure used in psychometrics (Cronbach’s alpha). esc provides a range of effect size calculations with partial overlap with metafor but with some extras, noticeably for converting test statistics, also includes a convenience function for collating its output for input to another package like metafor or producing a CSV file. estimraw estimates the cell frequencies from one of odds ratio, risk ratio, or risk difference. effsize contains functions to compute effect sizes mean difference (Cohen’s d and Hedges g), dominance matrices (Cliff’s Delta) and stochastic superiority (Vargha-Delaney A). effectsize provides a large number of different effect sizes and converts between them. metansue provides some methods for converting to effect sizes es.dif from raw data computes Cohen’s d, Hedges’ d, biased/unbiased c (an effect size between a mean and a constant) and e (an effect size between means without assuming the variance equality). MOTE provides a variety of conversions based on Cohen’s d. estmeansd converts between quantiles and means and standard deviations. metaBLUE estimates means and standard deviations from various order statistics. SingleCaseES provides basic effect sizes for single-case designs, both parametric and non-overlap. smd computes standardised mean differences
- meta provides functions to read and work with files output by RevMan 4 and 5.
- metagear provides many tools for the systematic review process including screening articles, downloading the articles, generating a PRISMA diagram, and some tools for effect sizes. revtools provides tools for downloading from bibliographic databases and uses machine learning methods to process them. citationchaser assists in the process of chasing citations
- metavcov computes the variance-covariance matrix for multivariate meta-analysis when correlations between outcomes can be provided but not between treatment effects
- clubSandwich imputes variance-covariance matrix for multivariate meta-analysis
- metafuse uses a fused lasso to merge covariate estimates across a number of independent datasets.
- metapower provides power analysis for meta-analysis and meta-regression
- Several packages provide assistance in digitising data from published figures metaDigitise and juicr provide graphical interfaces and accept a various input formats. digitize has a more limited range of facilities.
Fitting the model
- Four packages provide the inverse variance weighted, Mantel-Haenszel, and Peto methods: epiR, meta, metafor, and rmeta.
- For binary data metafor provides the binomial-normal model.
- Packages which work with specific effect sizes may be more congenial to workers in some areas of science and include metacor which provides meta-analysis of correlation coefficients and MAd which provides meta-analysis of mean differences. MAd provides a range of graphics. mixmeta provides an integrated interface to standard meta-analysis and extensions like multivariate and dose-response.
- concurve provides consonance curves relying on metafor
- clubSandwich gives cluster-robust variance estimates.
- wildmeta conducts single coefficient tests and multiple-contrast hypothesis tests of meta-regression models using cluster wild bootstrapping
- Bayesian approaches are contained in various packages. bspmma which provides two different models: a non-parametric and a semi-parametric. Graphical display of the results is provided. mmeta provides meta-analysis using beta-binomial prior distributions. bayesmeta includes shrinkage estimates, meta-regression, posterior predictive p-values and forest plots via either metafor or forestplot. Diagnostic graphical output is available. MetaStan includes binomial-normal hierarchical models and can use weakly informative priors for the heterogeneity and treatment effect parameters. baggr provides facilities using Stan for hierarchical Bayesian models, graphical facilities are provided. BayesCombo provides facilities using a Bayesian approach and has graphical facilities. RBesT uses Bayesian synthesis to generate priors from various sources. metamisc provides a method with priors suggested by Higgins. RoBMA provides a framework for estimating ensembles of meta-analytic models and using Bayesian model averaging to combine them. ra4bayesmeta provides principled reference analysis within the Bayesian normal-normal model.
- Some packages concentrate on providing a specialised version of the core meta-analysis function without providing the range of ancillary functions. These are: metaLik which uses a more sophisticated approach to the likelihood, and metatest which provides another improved method of obtaining confidence intervals. metaBMA has a Bayesian approach using model averaging, a variety of priors are provided and it is possible for the user to define new ones. gmeta which subsumes a very wide variety of models under the method of confidence distributions and also provides a graphical display, CoTiMA performs meta-analyses of correlation matrices of repeatedly measured variables for studies with different time lags using a SEM framework with OpenMx as the engine
- metaplus fits random effects models relaxing the usual assumption that the random effects have a normal distribution by providing t or a mixture of normals.
- ratesci fits random effects models to binary data using a variety of methods for confidence intervals.
- RandMeta estimates exact confidence intervals in random effects models using an efficient algorithm.
- rma.exact estimates exact confidence intervals in random effects normal-normal models and also provides plots of them.
- pimeta provides a range of methods for prediction interval estimation from random effects models and ahs graphical facilities.
- metamedian implements several methods to meta-analyze one-group or two-group studies that report the median of the outcome. These methods estimate the pooled median in the one-group context and the pooled raw difference of medians across groups in the two-group context meta also provides methods for medians
- MetaUtility proposes a metric for estimating the proportion of effects above a cut-off of scientific importance
- metasens provides imputation methods for missing binary data.
- metagam provides a framework for meta-analysis of generalised additive models including the case where individual paticipant data cannot be shared across locations.
- metawho implements a method for combining within study interactions
- metarep provides replicability analyses after a conventional analysis
- rema uses a permutation approach to handle meta-analyses of rare event data
- meta.shrinkage uses shrinkage methods to provide better estimates of individual means in meta-analysis
- metaumbrella provides facilities for umbrella reviews
- vcmeta provides functions for varying-coefficient meta-analysis as an alternative to the usual fixed or random effect methods.
- robustmeta provides methods for meta-analysis for cases where primary studies may have influential outlying values.
An extensive range of graphical procedures is available.
- Forest plots are provided in forplo, forestmodel (using ggplot2), forestplot, forestploter, meta, metafor, metansue, and rmeta. Although the most basic plot can be produced by any of them they each provide their own choice of enhancements. metaviz provides a range of enhancements.
- Funnel plots are provided in meta, metafor, metansue, rmeta and weightr. In addition to the standard funnel plots a funnel plot for limit meta-analysis in metasens, and metaviz provides an extensive range of enhanced funnel plots and also facilities for their use in the context of visual inference.
- Radial (Galbraith) plots are provided in meta and metafor.
- L’Abbe plots are provided in meta and metafor.
- Baujat plots are provided in meta and metafor.
- meta provides drapery plots
- MetaAnalyser provides an interactive visualisation of the results of a meta-analysis.
- metaviz provides rainforestplots, an enhanced version of forest plots. It accepts input from metafor.
- DTAplots produces various plots for diagnostic studies including forest and SROC plots.
- Confidence intervals for the heterogeneity parameter are provided in metafor.
- altmeta presents a variety of alternative methods for measuring and testing heterogeneity with a focus on robustness to outlying studies.
- metaforest investigates heterogeneity using random forests. Note that it has nothing to do with forest plots.
- mc.heterogeneity implements a Monte Carlo based test for heterogeneity.
- boot.heterogeneity provides a bootstrp test for heterogeneity for mean differences, correlations, and odds ratios.
- An extensive series of plots of diagnostic statistics is provided in metafor.
- metaplus provides outlier diagnostics.
- EValue provides sensitivity analysis of the effect of unmeasured confounders
- boutliers provides bootstrap distributions for outlier detection and influence diagnostics
- metaconfoundr provides a number of ways to visualise confounding relationships in meta-analysis
- RoBMA allows comparison of different meta-analytic models
Investigating small study bias
The issue of whether small studies give different results from large studies has been addressed by visual examination of the funnel plots mentioned above. In addition:
- meta and metafor provide both the non-parametric method suggested by Begg and Mazumdar and a range of regression tests modelled after the approach of Egger.
- xmeta provides a method in the context of multivariate meta-analysis.
- metamisc provides funnel plots and tests for asymmetry.
- puniform provides methods using only the statistically significant studies, methods for the special case of replication studies and sample size determinations.
- PublicationBias performs sensitivity analysis of the number of unpublished studies needed to have a specified influence.
- metafor provides a variety of selection models.
- RoBMA includes Bayesian versions of selection models
A recurrent issue in meta-analysis has been the problem of unobserved studies.
- Rosenthal’s fail safe n is provided by MAd. metafor provides it as well as two more recent methods by Orwin and Rosenberg.
- Duval’s trim and fill method is provided by meta and metafor.
- metasens provides Copas’s selection model and also the method of limit meta-analysis (a regression based approach for dealing with small study effects) due to Rücker et al.
- selectMeta provides various selection models: the parametric model of Iyengar and Greenhouse, the non-parametric model of Dear and Begg, and proposes a new non-parametric method imposing a monotonicity constraint.
- The metansue package allows the inclusion by multiple imputation of studies known only to have a non-significant result.
- weightr provides facilities for using the weight function model of Vevea and Hedges.
- publipha estimates models accounting for publication bias or p-hacking using a Bayesian framework
- fsn computes the fail-safe number with confidence interval.
- RobustBayesianCopas fits a robust version of the Copas selection model.
- metafor provides the test of excess significance.
- phacking provides methods for cases where selection has take place within and between studies.
Other study designs
- SCMA provides single case meta-analysis. It is part of a suite of packages dedicated to single-case designs.
- joint.Cox provides facilities for the meta-analysis of studies of joint time-to-event and disease progression.
- dfmeta provides meta-analysis of Phase I dose-finding clinical trials
- metaRMST implements meta-analysis of trials with difference in restricted mean survival times
- metamisc provides for meta-analysis of prognostic studies
- metamicrobiomeR provides meta-analysis of zero-inflated beta microbiome data fitted with GAMLSS models.
- metaSurvival estimates the survival curves from data extracted from primary study survival curves.
Meta-analysis of significance values
- Fisher’s method and Lancaster’s are available in aggregation, metap, and poolr.
- Stouffer’s method, Tippett’s and Wilkinson’s are available in metap and poolr.
- Edgington’s method, inverse-t, logit, mean of p, and mean of z are all available in metap.
In all cases poolr considers correlated p-values in addition to independent. The others above do not.
- TFisher provides Fisher’s method using both hard and soft thresholding for the p-values. There is a wrapper in metap for the hard threshold case.
- harmonicmeanp uses the method of harmonic mean of p-values which is robust to correlation between the p-values.
- amanida provides meta-analysis of metabolite data using p-values and fold change.
- metap provides simple graphics including albatros plots.
Some methods are also provided in some of the genetics packages mentioned below.
Standard methods outlined above assume that the effect sizes are independent. This assumption may be violated in a number of ways: within each primary study multiple treatments may be compared to the same control, each primary study may report multiple endpoints, or primary studies may be clustered for instance because they come from the same country or the same research team. In these situations where the outcome is multivariate:
- mvmeta assumes the within study covariances are known and provides a variety of options for fitting random effects. metafor provides fixed effects and likelihood based random effects model fitting procedures. Both these packages include meta-regression, metafor also provides for clustered and hierarchical models.
- mvtmeta provides multivariate meta-analysis using the method of moments for random effects although not meta-regression,
- metaSEM provides multivariate (and univariate) meta-analysis and meta-regression by embedding it in the structural equation framework and using OpenMx for the structural equation modelling. It can provide a three-level meta-analysis taking account of clustering and allowing for level 2 and level 3 heterogeneity. It also provides via a two-stage approach meta-analysis of correlation or covariance matrices.
- xmeta provides various functions for multivariate meta-analysis and also for detecting publication bias.
- dosresmeta concentrates on the situation where individual studies have information on the dose-response relationship. MBNMAdose provides a Bayesian analysis using network meta-analysis of dose response studies.
- robumeta provides robust variance estimation for clustered and hierarchical estimates.
- CIAAWconsensus has a function for multivariate m-a in the context of atomic weights and estimating isotope ratios.
- BayesMultMeta provides Bayesian inference for the parameters of the multivariate random effects model with application to multivariate meta-analysis.
A special case of multivariate meta-analysis is the case of summarising studies of diagnostic tests. This gives rise to a bivariate, binary meta-analysis with the within-study correlation assumed zero although the between-study correlation is estimated. This is an active area of research and a variety of methods are available including what is referred to here as Reitsma’s method, and the hierarchical summary receiver operating characteristic (HSROC) method. In many situations these are equivalent.
- mada provides various descriptive statistics and univariate methods (diagnostic odds ratio and Lehman model) as well as the bivariate method due to Reitsma. Meta-regression is provided. Graphical facilities are also available.
- bamdit provides Bayesian meta-analysis with a bivariate random effects model (using JAGS to implement the MCMC method). Graphical methods are provided.
- meta4diag provides Bayesian inference analysis for bivariate meta-analysis of diagnostic test studies and an extensive range of graphical methods.
- diagmeta considers the case where the primary studies provide analysis using multiple cut-offs. Graphical methods are also provided.
- CopulaDTA (archived) uses the beta-binomial model to yield marginal mean sensitivity and specificity. Graphical facilities are available.
- NMADiagT provides network meta-analysis of diagnostic tests in a Bayesian framework using Stan as the engine, graphical output is provided.
- DTAplots prouces various plots for diagnostic studies including forest and SROC plots.
Where suitable moderator variables are available they may be included using meta-regression. All these packages are mentioned above, this just draws that information together.
- metafor provides meta-regression (multiple moderators are catered for). Various packages rely on metafor to provide meta-regression (meta, and MAd) and both of these provide bubble plots.
- metaLik, metansue, metaSEM, and metatest also provide meta-regression.
- mvmeta provides meta-regression for multivariate meta-analysis as do metafor and metaSEM.
- mada provides for the meta-regression of diagnostic test studies.
- GENMETA uses generalised meta-analysis to handle the situation where the studies do not all use the same regressors
- jarbes uses the Bayesian approach of hierarchical meta-regression
- metacart uses classification and regression trees to identify interactions between moderators
- pema provides a penalised approach to meta-regression useful for situations with a large number of moderators relative to observations
- bayesmeta includes meta-regression
Individual participant data (IPD)
Where all studies can provide individual participant data then software for analysis of multi-centre trials or multi-centre cohort studies should prove adequate and is outside the scope of this task view. Other packages which provide facilities related to IPD are:
- ecoreg which is designed for ecological studies enables estimation of an individual level logistic regression from aggregate data or individual data.
- multinma provides network meta-analysis and network meta-regression models for aggregate data, individual patient data, and mixtures of both individual and aggregate data
- MetaIntegration combines IPD data with external models.
- bipd uses a Bayesian approach for IPD. It includes facilities for multiple imputation using mice
Also known as multiple treatment comparison. This is a very active area of research and development. Note that some of the packages mentioned above under multivariate meta-analysis can also be used for network meta-analysis with appropriate setup.
- netmeta works in a frequentist framework. It provides an extensive range of graphical and other displays including network graphs and a heatmap for displaying inconsistency and heterogeneity. A frequentist analogue of SUCRA is also available.
- A Bayesian framework by pcnetmeta, which uses JAGS. It provides a number of data-sets. nmaINLA uses integrated nested Laplace approximations as an alternative to MCMC. It provides a number of data-sets. NMADiagT provides network meta-analysis of diagnostic tests in a Bayesian framework using Stan as the engine, graphical output is provided. gemtc, which acts as a front-end to BUGS or JAGS, bnma provides arm-based methods using JAGS as the engine, metapack provides methods using built-in MCMC code
- multinma provides network meta-analysis and network meta-regression models for aggregate data, individual patient data, and mixtures of both individual and aggregate data
- nmathresh provides decision-invariant bias adjustment thresholds and intervals the smallest changes to the data that would result in a change of decision. NMAoutlier detects outliers in NMA using forward search,
- pcnetmeta provides network graphs. nmaplateplot displays the results from an NMA using a heatplot style and also displays SUCRA.
- nmarank evaluates hierarchies of evidence in network meta-analysis
- rnmamod uses a Bayesian approach to perform NMA while addressing (aggregate) missing participant outcome data.
There are a number of packages specialising in genetic data: catmap combines case-control and family study data, graphical facilities are provided, CPBayes uses a Bayesian approach to study cross-phenotype genetic associations, etma proposes a new statistical method to detect epistasis, gap combines p-values, getmstatistic quantifies systematic heterogeneity, getspres uses standardised predictive random effects to explore heterogeneity in genetic association meta-analyses, GMCM uses a Gaussian mixture copula model for high-throughput experiments, MBNMAtime provides methods for analysis of repeated measures network meta-analysis, MendelianRandomization provides several methods for performing Mendelian randomisation analyses with summarised data, MetaIntegrator provides meta-analysis of gene expression data, metaMA provides meta-analysis of p-values or moderated effect sizes to find differentially expressed genes, metaRNASeq meta-analysis from multiple RNA sequencing experiments, MetaSubtract uses leave-one-out methods to validate meta-GWAS results, ofGEM provides a method for identifying gene-environment interactions using meta-filtering, RobustRankAggreg provides methods for aggregating lists of genes, SPAtest combines association results, MetaSKAT provides for meta-analysis of the SKAT.
- metadat provides a large number of data-sets used in meta-analysis
- psymetadata provides more data-sets from meta-analyses in psychology research
- nmadb provides access to a database of network meta-analyses
CAMAN offers the possibility of using finite semiparametric mixtures as an alternative to the random effects model where there is heterogeneity. Covariates can be included to provide meta-regression.
KenSyn provides data-sets to accompany a French language book on meta-analysis in the agricultural sciences.
PRISMAstatement generates a flowchart conforming to the PRISMA statement.
metabolic provides data and code to support a book.
R mailing list for meta-analysis
|Regular:||aggregation, altmeta, amanida, baggr, bamdit, BayesCombo, bayesmeta, BayesMultMeta, bipd, bnma, boot.heterogeneity, boutliers, bspmma, CAMAN, catmap, CIAAWconsensus, citationchaser, clubSandwich, compute.es, concurve, CoTiMA, CPBayes, dfmeta, diagmeta, digitize, dosresmeta, DTAplots, ecoreg, effectsize, effsize, epiR, es.dif, esc, estimraw, estmeansd, etma, EValue, forestmodel, forestplot, forestploter, forplo, fsn, gap, gemtc, GENMETA, getmstatistic, getspres, GMCM, gmeta, harmonicmeanp, jarbes, joint.Cox, juicr, KenSyn, MAd, mada, MBNMAdose, MBNMAtime, mc.heterogeneity, MendelianRandomization, meta.shrinkage, meta4diag, MetaAnalyser, metaBLUE, metaBMA, metabolic, metacart, metaconfoundr, metacor, metadat, metaDigitise, metaforest, metafuse, metagam, metagear, MetaIntegration, MetaIntegrator, metaLik, metaMA, metamedian, metamicrobiomeR, metamisc, metansue, metap, metapack, metaplus, metapower, metarep, metaRMST, metaRNASeq, metaSEM, metasens, MetaSKAT, MetaStan, MetaSubtract, metaSurvival, metatest, metaumbrella, MetaUtility, metavcov, metaviz, metawho, mixmeta, mmeta, MOTE, multinma, mvmeta, mvtmeta, netmeta, nmadb, NMADiagT, nmaINLA, NMAoutlier, nmaplateplot, nmarank, nmathresh, ofGEM, pcnetmeta, pema, phacking, pimeta, poolr, PRISMAstatement, psymetadata, PublicationBias, publipha, puniform, ra4bayesmeta, RandMeta, ratesci, RBesT, RcmdrPlugin.EZR, RcmdrPlugin.MA, RcmdrPlugin.RMTCJags, rema, revtools, rma.exact, rmeta, rnmamod, RoBMA, robumeta, RobustBayesianCopas, robustmeta, RobustRankAggreg, SCMA, selectMeta, SingleCaseES, smd, SPAtest, TFisher, vcmeta, weightr, wildmeta, xmeta.|