Subscribe for X-meta Updates!

© 2017 by XMETA. Created using

Visits since 08-25-2017

Multivariate Meta-analysis (I)

Reference: Chen, Y, Cai, Y, Hong, C, and Jackson, D. (2016) Inference for correlated effect sizes using multiple univariate meta-analyses, Statistics in Medicine, 35(9): 1405-1422.


Multivariate meta-analysis jointly analyzes multiple and possibly correlated outcomes in a single analysis. The main challenge that is common to these multivariate methods is that they require the knowledge of the within-study correlations, whose calculation may not be easy and may sometimes require more computationally intensive methods. The goal of this tutorial is to explain a simple and non-iterative method proposed in the paper by the R packages step by step.  

R Packages and Analysis Function

In this paper, we analyze the example data using the proposed MMoM method in R.


The proposed method is implemented in the ’mmeta’ function in our R software package ‘xmeta’, and can be installed from CRAN (, the official R package archive. Make sure that you load them before trying to run the examples on this page. If you do not have the package installed, run: 


Below is the R code command for the MMoM (Multivariate Method of Moments with working independence assumption) method. 


  • ys: effect sizes (y1 and y2) from n studies in a matrix format with two columns: y1 and y2

  • vars: an (nx2) matrix with column 1 being variance of y1 and  column 2 being variance of y2

  • Note: when y1 or y2 is missing, we put y1 or y2 as 0 and corresponding variance as 10ˆ6.



  • beta.hat (the pooled effect sizes for two outcomes)

  • sigma.hat (covariance matrix of the estimates)

Implementation of Working Example

Now, let's apply this method to a working example. Below is the sample data. 

To apply the MMoM method to this working example, run:

And you will get the following result:

You can obtain the estimate and standard error of delta = beta1-beta2 by running:

The results are:

To obtain the estimate and standard error of beta.average = (beta1+beta2)/2, run:

And you will get: 

This site was designed with the
website builder. Create your website today.
Start Now