top of page

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.

Introduction​

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 (http://cran.r-project.org/package=xmeta/), 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: 

Structure:

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

Input:

  • 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.

 

Output:

  • 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: 

bottom of page