Meta
Meta
MANUAL
RELEASE 19
Published by Stata Press, 4905 Lakeway Drive, College Station, Texas 77845
ISBN-10: 1-59718-436-5
ISBN-13: 978-1-59718-436-6
This manual is protected by copyright. All rights are reserved. No part of this manual may be reproduced, stored in a
retrieval system, or transcribed, in any form or by any means—electronic, mechanical, photocopy, recording, or other-
wise—without the prior written permission of StataCorp LLC unless permitted subject to the terms and conditions of
a license granted to you by StataCorp LLC to use the software and documentation. No license, express or implied, by
estoppel or otherwise, to any intellectual property rights is granted by this document.
StataCorp provides this manual “as is” without warranty of any kind, either expressed or implied, including, but not lim-
ited to, the implied warranties of merchantability and fitness for a particular purpose. StataCorp may make improvements
and/or changes in the product(s) and the program(s) described in this manual at any time and without notice.
The software described in this manual is furnished under a license agreement or nondisclosure agreement. The software
may be copied only in accordance with the terms of the agreement. It is against the law to copy the software onto DVD,
CD, disk, diskette, tape, or any other medium for any purpose other than backup or archival purposes.
The automobile dataset appearing on the accompanying media is Copyright © 1979 by Consumers Union of U.S., Inc.,
Yonkers, NY 10703-1057 and is reproduced by permission from CONSUMER REPORTS, April 1979.
Stata, , Stata Press, Mata, , NetCourse, and NetCourseNow are registered trademarks of StataCorp LLC.
Stata and Stata Press are registered trademarks with the World Intellectual Property Organization of the United Nations.
StataNow is a trademark of StataCorp LLC.
Other brand and product names are registered trademarks or trademarks of their respective companies.
For copyright information about the software, type help copyright within Stata.
[Link]
Contents
i
Cross-referencing the documentation
When reading this manual, you will find references to other Stata manuals, for example,
[U] 27 Overview of Stata estimation commands; [R] regress; and [D] reshape. The first example
is a reference to chapter 27, Overview of Stata estimation commands, in the User’s Guide; the second
is a reference to the regress entry in the Base Reference Manual; and the third is a reference to the
reshape entry in the Data Management Reference Manual.
All the manuals in the Stata Documentation have a shorthand notation:
ii
Intro — Introduction to meta-analysis
Description
Meta-analysis (Glass 1976) is a statistical technique for combining the results from several similar
studies. The results of multiple studies that answer similar research questions are often available in the
literature. It is natural to want to compare their results and, if sensible, provide one unified conclu-
sion. This is precisely the goal of the meta-analysis, which provides a single estimate of the effect of
interest computed as the weighted average of the study-specific effect estimates. When these estimates
vary substantially between the studies, meta-analysis may be used to investigate various causes for this
variation.
Another important focus of the meta-analysis may be the exploration and impact of small-study ef-
fects, which occur when the results of smaller studies differ systematically from the results of larger
studies. One of the common reasons for the presence of small-study effects is publication bias, which
arises when the results of published studies differ systematically from all the relevant research results.
Comprehensive overview of meta-analysis may be found in Sutton and Higgins (2008); Cooper,
Hedges, and Valentine (2019); Borenstein et al. (2009); Higgins and Green (2017); Hedges and Olkin
(1985); Sutton et al. (2000a); and Palmer and Sterne (2016). A book dedicated to addressing publication
bias was written by Rothstein, Sutton, and Borenstein (2005).
This entry presents a general introduction to meta-analysis and describes relevant statistical terminol-
ogy used throughout the manual. For how to perform meta-analysis in Stata, see [META] meta.
1
Intro — Introduction to meta-analysis 2
Meta-analysis models. Another important consideration for meta-analysis is that of the underlying
model. Three commonly used models are a common-effect, fixed-effects, and random-effects models.
The models differ in how they estimate and interpret parameters. See Meta-analysis models for details.
Meta-analysis summary—forest plots. The results of meta-analysis are typically summarized on a
forest plot, which plots the study-specific effect sizes and their corresponding confidence intervals, the
combined estimate of the effect size and its confidence interval, and other summary measures such as
heterogeneity statistics. See Forest plots for details.
Heterogeneity. The estimates of effect sizes from individual studies will inherently vary from one
study to another. This variation is known as a study heterogeneity. Two types of heterogeneity described
by Deeks, Higgins, and Altman (2017) are methodological, when the studies differ in design and conduct,
and clinical, when the studies differ in participants, treatments, and exposures or outcomes. The authors
also define statistical heterogeneity, which exists when the observed effects differ between the studies. It
is typically a result of clinical heterogeneity, methodological heterogeneity, or both. There are methods
for assessing and addressing heterogeneity that we discuss in detail in Heterogeneity.
Publication bias. The selection of studies in a meta-analysis is an important step. Ideally, all studies
that meet prespecified selection criteria must be included in the analysis. This is rarely achievable in
practice. For instance, it may not be possible to have access to some unpublished results. So some of
the relevant studies may be omitted from the meta-analysis. This may lead to what is known in statistics
as a sample-selection problem. In the context of meta-analysis, this problem is known as publication
bias or, more generally, reporting bias. Reporting bias arises when the omitted studies are systematically
different from the studies selected in the meta-analysis. For details, see Publication bias.
Finally, you may ask, Does it make sense to combine different studies? According to Borenstein et al.
(2009, chap. 40), “in the early days of meta-analysis, Robert Rosenthal was asked whether it makes sense
to perform a meta-analysis, given that the studies differ in various ways and that the analysis amounts to
combining apples and oranges. Rosenthal answered that combining apples and oranges makes sense if
your goal is to produce a fruit salad.”
Meta-analysis would be of limited use if it could combine the results of identical studies only. The
appeal of meta-analysis is that it actually provides a principled way of combining a broader set of studies
and can answer broader questions than those originally posed by the included primary studies. The
specific goals of the considered meta-analysis should determine which studies can be combined and,
more generally, whether a meta-analysis is even applicable.
Meta-analysis models
The role of a meta-analysis model is important for the computation and interpretation of the meta-
analysis results. Different meta-analysis models make different assumptions and, as a result, estimate
different parameters of interest. In this section, we describe the available meta-analysis models and point
out the differences between them.
Suppose that there are 𝐾 independent studies. Each study reports an estimate, 𝜃𝑗̂ , of the unknown
true effect size 𝜃𝑗 and an estimate, 𝜎̂𝑗 , of its standard error, 𝑗 = 1, 2, . . . , 𝐾. The goal of a meta-analysis
is to combine these estimates in a single result to obtain valid inference about the population parameter
of interest, 𝜃pop .
Depending on the research objective and assumptions about studies, three approaches are available to
model the effect sizes: a common-effect model (historically known as a fixed-effect model—notice the
singular “effect”), a fixed-effects model (notice the plural “effects”), and a random-effects model. We
briefly define the three models next and describe them in more detail later.
Intro — Introduction to meta-analysis 4
The target of interest in a CE model is an estimate of a common effect size, 𝜃pop = 𝜃. The CE model
generally uses the weights 𝑤𝑗 = 1/𝜎̂𝑗2 in (2) to estimate 𝜃.
CE models are applicable only when the assumption that the same parameter underlies each study is
reasonable, such as with pure replicate studies.
Fixed-effects model
A fixed-effects (FE) meta-analysis model (Hedges and Vevea 1998; Rice, Higgins, and Lumley 2018)
is defined by (1); it assumes that different studies have different effect sizes (𝜃1 ≠ 𝜃2 ≠ · · · ≠ 𝜃𝐾 ) and
that the effect sizes are fixed quantities. By fixed quantities, we mean that the studies included in the
meta-analysis define the entire population of interest. FE models are typically used whenever the analyst
wants to make inferences only about the included studies.
Intro — Introduction to meta-analysis 5
The target of interest in an FE model is an estimate of the weighted average of true study-specific
effect sizes,
𝐾
∑𝑗=1 𝑊𝑗 𝜃𝑗
𝜃pop = Ave(𝜃𝑗 ) = 𝐾
∑𝑗=1 𝑊𝑗
where 𝑊𝑗 ’s represent true, unknown weights, which are defined in Rice, Higgins, and Lumley (2018,
eq. 3). The estimated weights, 𝑤𝑗 = 1/𝜎̂𝑗2 , are generally used in (2) to estimate 𝜃pop .
Based on Rice, Higgins, and Lumley (2018), an FE model answers the question, “What is the magni-
tude of the average true effects in the set of 𝐾 studies included in the meta-analysis?” It is appropriate
when the true effects sizes are different across studies and the research interest lies in their average esti-
mate.
Random-effects model
A random-effects (RE) meta-analysis model (Hedges 1983; DerSimonian and Laird 1986) assumes
that the study effect sizes are different and that the collected studies represent a random sample from
a larger population of studies. (The viewpoint of random effect sizes is further explored by Bayesian
meta-analysis; see, for example, Random-effects meta-analysis of clinical trials in [BAYES] bayesmh.)
The goal of RE meta-analysis is to provide inference for the population of studies based on the sample of
studies used in the meta-analysis.
The RE model may be described as
𝜃𝑗̂ = 𝜃𝑗 + 𝜖𝑗 = 𝜃 + 𝑢𝑗 + 𝜖𝑗
where 𝑢𝑗 ∼ 𝑁 (0, 𝜏 2 ) and, as before, 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 ). Parameter 𝜏 2 represents the between-study vari-
ability and is often referred to as the heterogeneity parameter. It estimates the variability among the
studies, beyond the sampling variability. When 𝜏 2 = 0, the RE model reduces to the CE model.
Here the target of inference is 𝜃pop = 𝐸(𝜃𝑗 ), the mean of the distribution of effect sizes 𝜃𝑗 ’s. 𝜃pop is
estimated from (2) with 𝑤𝑗 = 1/(𝜎̂𝑗2 + 𝜏 ̂2 ).
Intro — Introduction to meta-analysis 6
CE and FE models are computationally identical but conceptually different. They differ in their target
of inference and the interpretation of the overall effect size. In fact, all three models have important
conceptual and interpretation differences. table 1 summarizes the different interpretations of 𝜃pop under
the three models.
A CE meta-analysis model estimates the true effect size under the strong assumption that all studies
share the same effect and thus all the variability between the studies is captured by the sampling errors.
Under that assumption, the weighted average estimator indeed estimates the true common effect size, 𝜃.
In the presence of additional variability unexplained by sampling variations, the interpretation of the
results depends on how this variability is accounted for in the analysis.
An FE meta-analysis model uses the same weighted average estimator as a CE model, but the latter
now estimates the weighted average of the 𝐾 true study-specific effect sizes, Ave(𝜃𝑗 ).
An RE meta-analysis model assumes that the study contributions, 𝑢𝑗 ’s, are random. It decomposes
the variability of the effect sizes into the between-study and within-study components. The within-study
variances, 𝜎̂𝑗2 ’s, are assumed known by design. The between-study variance, 𝜏 2 , is estimated from the
sample of the effect sizes. Thus, the extra variability attributed to 𝜏 2 is accounted for during the estimation
of the mean effect size, 𝐸(𝜃𝑗 ).
So which model should you choose? The literature recommends to start with a random-effects model,
which is Stata’s default for most meta-analyses. If you are willing to assume that the studies have different
true effect sizes and you are interested only in providing inferences about these specific studies, then the
FE model is appropriate. If the assumption of study homogeneity is reasonable for your data, a CE model
may be considered.
Depending on the chosen meta-analysis model, various methods are available to estimate the weights
𝑤𝑗 in (2). The meta-analysis models from the previous sections assumed the inverse-variance estimation
method (Whitehead and Whitehead 1991) under which the weights are inversely related to the variance.
The inverse-variance estimation method is applicable to all meta-analysis models and all types of effect
sizes. Thus, it can be viewed as the most general approach.
For a two-group comparison of binary outcomes, CE and FE models also support the Mantel–Haenszel
estimation method, which can be used to combine odds ratios, risk ratios, and risk differences. The
classical Mantel–Haenszel method (Mantel and Haenszel 1959) is used for odds ratios, and its extension
by Greenland and Robins (1985) is used for risk ratios and risk differences. The Mantel–Haenszel method
is recommended with sparse data. Fleiss, Levin, and Paik (2003) also suggests that it be used with small
studies provided that there are many.
Intro — Introduction to meta-analysis 7
In RE models, the weights are inversely related to the total variance, 𝑤𝑗 = 1/(𝜎̂𝑗2 + 𝜏 ̂2 ). Different
methods are proposed for estimating the between-study variability, 𝜏 2 , which is used in the expression
for the weights. These include the restricted maximum likelihood (REML), maximum likelihood (ML),
empirical Bayes (EB), DerSimonian–Laird (DL), Hedges (HE), Sidik–Jonkman (SJ), and Hunter–Schmidt
(HS).
REML, ML, and EB are iterative methods, whereas other methods are noniterative (have closed-form
expressions). The former estimators produce nonnegative estimates of 𝜏 2 . The other estimators, except
SJ, may produce negative estimates and are thus truncated at zero when this happens. The SJ estimator
always produces a positive estimate of 𝜏 2 .
REML, ML, and EB assume that the distribution of random effects is normal. The other estimators make
no distributional assumptions about random effects. Below, we briefly describe the properties of each
method. See Sidik and Jonkman (2007), Viechtbauer (2005), and Veroniki et al. (2016) for a detailed
discussion and the merit of each estimation method.
The REML method (Raudenbush 2009) produces an unbiased, nonnegative estimate of 𝜏 2 and is com-
monly used in practice. (It is the default estimation method in Stata because it performs well in most
scenarios.)
When the number of studies is large, the ML method (Hardy and Thompson 1998; Thompson and
Sharp 1999) is more efficient than the REML method but may produce biased estimates when the number
of studies is small, which is a common case in meta-analysis.
The EB estimator (Berkey et al. 1995), also known as the Paule–Mandel estimator (Paule and Mandel
1982), tends to be less biased than other RE methods, but it is also less efficient than REML or DL (Knapp
and Hartung 2003).
The DL method (DerSimonian and Laird 1986), historically, is one of the most popular estimation
methods because it does not make any assumptions about the distribution of the random effects and does
not require iteration. But it may underestimate 𝜏 2 , especially when the variability is large and the number
of studies is small. However, when the variability is not too large and the studies are of similar sizes,
this estimator is more efficient than other noniterative estimators HE and SJ. See Veroniki et al. (2016)
for details and relevant references.
The SJ estimator (Sidik and Jonkman 2005), along with the EB estimator, is the best estimator in terms
of bias for large 𝜏 2 (Sidik and Jonkman 2007). This method always produces a positive estimate of 𝜏 2
and thus does not need truncating at 0, unlike the other noniterative methods.
Like DL, the HE estimator (Hedges 1983) is a method of moments estimator, but, unlike DL, it does
not weight effect-size variance estimates (DerSimonian and Laird 1986). Veroniki et al. (2016) note,
however, that this method is not widely used in practice.
The HS estimator (Schmidt and Hunter 2015) is negatively biased and thus not recommended when
unbiasedness is important (Viechtbauer 2005). Otherwise, the mean squared error of HS is similar to that
of ML and is smaller than those of HE, DL, and REML.
Forest plots
Meta-analysis results are often presented using a forest plot (for example, Lewis and Ellis [1982]). A
forest plot shows study-specific effect sizes and an overall effect size with their respective confidence
intervals. The information about study heterogeneity and the significance of the overall effect size are also
Intro — Introduction to meta-analysis 8
typically presented. This plot provides a convenient way to visually compare the study effect sizes, which
can be any summary estimates available from primary studies, such as standardized and unstandardized
mean differences, (log) odds ratios, (log) risk ratios, and (log) hazard ratios.
Below is an example of a forest plot.
exp(ES) Weight
Study with 95% CI (%)
A blue square is plotted for each study, with the size of the square being proportional to the study weight;
that is, larger squares correspond to larger (more precise) studies. Studies’ CIs are plotted as whiskers
extending from each side of the square and spanning the width of the CI. The estimate of the overall
effect size, depicted here by a green diamond, is typically plotted following the individual effect sizes.
The diamond is centered at the estimate of the overall effect size and the width of the diamond represents
the corresponding CI width. Heterogeneity measures such as the 𝐼 2 and 𝐻 2 statistics, homogeneity test,
and the significance test of the overall effect sizes are also commonly reported.
Three further variations of forest plots are for cumulative, subgroup, and leave-one-out meta-analyses;
see Cumulative meta-analysis, Subgroup meta-analysis, and Leave-one-out meta-analysis.
For further details about forest plots, see [META] meta forestplot.
Intro — Introduction to meta-analysis 9
Heterogeneity
The exposition below is based on Deeks, Higgins, and Altman (2017) and references therein.
It is natural for effect sizes of studies collected in a meta-analysis to vary between the studies because
of sampling variability. However, when this variation exceeds the levels that could be explained by
sampling variation, it is referred to as the between-study heterogeneity. Between-study heterogeneity
may arise for different reasons and is generally divided into two types: clinical and methodological
(Thompson 1994; Deeks, Higgins, and Altman 2017). Clinical heterogeneity is the variability in the
intervention strategies, outcomes, and study participants. Methodological heterogeneity is the variability
in the study design and conduct. Statistical heterogeneity refers to the cases when the variability between
the observed effects cannot be explained by sampling variability alone. It arises when the true effects in
each study are different and may be the result of clinical heterogeneity, methodological heterogeneity, or
both. In what follows, we refer to statistical heterogeneity simply as heterogeneity.
Assessing heterogeneity
Forest plots are useful for visual examination of heterogeneity. Its presence can be evaluated by
looking at the plotted CIs, which are represented as horizontal lines on the plot. Heterogeneity is suspect
if there is a lack of overlap between the CIs.
For many studies, Galbraith plots may be a more visually appealing alternative to forest plots for
assessing heterogeneity and presenting meta-analysis results. These plots graph standardized effect sizes
against precision for each study with a regression line through the origin with the overall effect size as
its slope. Excess variation of the scatter points around the regression line may suggest the presence of
heterogeneity. See [META] meta galbraithplot.
For a two-group comparison of binary outcomes, L’Abbé plots may be used to assess heterogeneity
and compare study-specific event rates in the two groups; see [META] meta labbeplot.
You can also test for heterogeneity more formally by using Cochran’s homogeneity test. Additionally,
various heterogeneity measures such as the 𝐼 2 statistic, which estimates the percentage of the between-
study variability, are available to quantify heterogeneity.
See [META] meta summarize for details.
Addressing heterogeneity
There are several strategies to address heterogeneity when it is present. Below, we summarize some
of the recommendations from Deeks, Higgins, and Altman (2017):
1. “Explore heterogeneity”. Subgroup analyses and meta-regression are commonly used to ex-
plore heterogeneity. For such analyses to be proper, you must prespecify upfront (before your
meta-analysis) the study attributes you would like to explore. Often, meta-analysts are already
familiar with the studies, so the genuine prestudy specification may not be possible. In that
case, you should use caution when interpreting the results. Once heterogeneity is established,
its exploration after the fact is viewed as data snooping and should be avoided.
2. “Perform an RE meta-analysis”. After careful consideration of subgroup analysis and meta-
regression, you may consider an RE meta-analysis to account for the remaining unexplained
between-study heterogeneity. See Deeks, Higgins, and Altman (2017, sec. 9.5.4) for details.
Intro — Introduction to meta-analysis 10
3. “Exclude studies”. Generally, you should avoid excluding studies from a meta-analysis because
this may lead to bias. You may consider doing this in the presence of a few outlying studies
when the reasons for the outlying results are well understood and are unlikely to interfere with
your research objectives. Even then, you still need to perform sensitivity analysis and report
both the results with and without the outlying studies.
4. “Do not perform a meta-analysis”. In the presence of substantial variation that cannot be ex-
plained, you may have to abandon the meta-analysis altogether. In this case, it will be mislead-
ing to report a single overall estimate of an effect, especially if there is a disagreement among
the studies about the direction of the effect.
Below, we discuss ways of exploring heterogeneity via subgroup meta-analysis and meta-regression.
Subgroup meta-analysis
It is not uncommon for the studies in a meta-analysis to report varying effect-size estimates. But it is
important to understand and account for such variation during the meta-analysis to obtain reliable results
(Thompson 1994; Berlin 1995). In the presence of substantial between-study variability, meta-analysis
may be used to explore the relationship between the effect sizes and study-level covariates of interest,
known in the meta-analysis literature as moderators. For example, the effect of a particular vaccine may
depend on a study location, the effect of a particular drug may depend on the studies’ dosages, and so on.
Depending on the type of covariates, subgroup meta-analysis or meta-regression may be used to ex-
plore the between-study heterogeneity. Subgroup meta-analysis is commonly used with categorical co-
variates, whereas meta-regression is used when at least one of the covariates is continuous.
In subgroup meta-analysis or simply subgroup analysis, the studies are grouped based on study or
participants’ characteristics, and an overall effect-size estimate is computed for each group. The goal of
subgroup analysis is to compare these overall estimates across groups and determine whether the con-
sidered grouping helps explain some of the observed between-study heterogeneity. Note that subgroup
analysis can be viewed as a special case of a meta-regression with only one categorical moderator.
For more details about subgroup analysis, see the subgroup() option in [META] meta summarize
and [META] meta forestplot.
Meta-regression
Meta-regression explores a relationship between the study-specific effect sizes and the study-level
covariates, such as a latitude of a study location or a dosage of a drug. These covariates are often re-
ferred to as moderators. See, for instance, Greenland (1987), Berkey et al. (1995), Thompson and Sharp
(1999), Thompson and Higgins (2002), and Viechtbauer et al. (2015) for more information about meta-
regression.
Two types of meta-regression are commonly considered in the meta-analysis literature: fixed-effects
meta-regression and random-effects meta-regression.
An FE meta-regression (Greenland 1987) assumes that all heterogeneity between the study outcomes
can be accounted for by the specified moderators. Let x𝑗 be a 1 × 𝑝 vector of moderators with the
corresponding unknown 𝑝 × 1 coefficient vector β. An FE meta-regression is given by
1
𝜃𝑗̂ = x𝑗 β + 𝜖𝑗 weighted by 𝑤𝑗 = , where 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 )
𝜎̂𝑗2
Intro — Introduction to meta-analysis 11
A traditional FE meta-regression does not model residual heterogeneity, but it can be incorporated by
multiplying each of the variances, 𝜎̂𝑗2 , by a common factor. This model is known as an FE meta-regression
with a multiplicative dispersion parameter or a multiplicative FE meta-regression (Thompson and Sharp
1999).
An RE meta-regression (Berkey et al. 1995) can be viewed as a meta-regression that incorporates the
residual heterogeneity via an additive error term, which is represented in a model by a study-specific
random effect. These random effects are assumed to be normal with mean zero and variance 𝜏 2 , which
estimates the remaining between-study heterogeneity that is unexplained by the considered moderators.
An RE meta-regression is
1
𝜃𝑗̂ = x𝑗 β + 𝑢𝑗 + 𝜖𝑗 weighted by 𝑤𝑗∗ = , where 𝑢𝑗 ∼ 𝑁 (0, 𝜏 2 ) and 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 )
𝜎̂𝑗2 + 𝜏 ̂2
For more details about meta-regression, see [META] meta regress and [META] meta regress postes-
timation.
Publication bias
Publication bias or, more generally, reporting bias occurs when the studies selected for a scientific
review are systematically different from all available relevant studies. Specifically, publication bias is
known in the meta-analysis literature as an association between the likelihood of a publication and the
statistical significance of a study result. The rise of systematic reviews for summarizing the results
of scientific studies elevated the importance of acknowledging and addressing publication bias in re-
search. Publication bias typically arises when nonsignificant results are being underreported in the liter-
ature (for example, Rosenthal [1979]; Iyengar and Greenhouse [1988]; Begg and Berlin [1988]; Hedges
[1992]; Stern and Simes [1997]; Givens, Smith, and Tweedie [1997]; Sutton et al. [2000b]; and Kicinski,
Springate, and Kontopantelis [2015]).
Suppose that we are missing some of the studies in our meta-analysis. If these studies are simply a
random sample of all the studies that are relevant to our research question, our meta-analytic results will
remain valid but will not be as precise. That is, we will likely obtain wider confidence intervals and less
powerful tests. However, if the missing studies differ systematically from our observed studies, such
as when smaller studies with nonsignificant findings are suppressed from publication, our meta-analytic
results will be biased toward a significant result. Any health-policy or clinical decisions based on them
will be invalid.
Dickersin (2005) notes that to avoid potentially serious consequences of publication bias, many re-
searchers (for example, Simes [1986]; Dickersin [1988]; Hetherington et al. [1989]; Dickersin and Ren-
nie [2003]; Antes and Chalmers [2003]; and Krakovsky [2004]) called for the registration of clinical trials
worldwide at the outset to keep track of the findings, whether or not significant, from all trials. Although
this may not necessarily eradicate the problem of publication bias, this will make it more difficult for the
results of smaller trials to go undetected. Generally, when one selects the studies for meta-analysis, the
review of the literature should be as comprehensive as possible, including searching the grey literature
to uncover the relevant unpublished studies.
See Borenstein et al. (2009, chap. 30) for the summary of other factors for publication bias such as
language bias and cost bias.
Intro — Introduction to meta-analysis 12
Funnel plots
The funnel plot (Light and Pillemer 1984) is commonly used to explore publication bias (Sterne,
Becker, and Egger 2005). It is a scatterplot of the study-specific effect sizes versus measures of study
precision. In the absence of publication bias, the shape of the scatterplot should resemble a symmetric
inverted funnel. The funnel-plot asymmetry, however, may be caused by factors other than publication
bias such as a presence of a moderator correlated with the study effect and study size or, more generally,
the presence of substantial between-study heterogeneity (Egger et al. 1997 ; Peters et al. 2008 ; Sterne
et al. 2011 ). The so-called contour-enhanced funnel plots have been proposed to help discriminate
between the funnel-plot asymmetry because of publication bias versus other reasons.
See [META] meta funnelplot for details.
Graphical evaluation of funnel plots is useful for data exploration but may be subjective when detect-
ing the asymmetry. Statistical tests provide a more formal evaluation of funnel-plot asymmetry. These
tests are also known as tests for small-study effects (Sterne, Gavaghan, and Egger 2000) and, historically,
as tests for publication bias. The tests are no longer referred to as “tests for publication bias” because,
as we commented earlier, the presence of the funnel-plot asymmetry may not necessarily be attributed
to publication bias, particularly in the presence of substantial between-study variability. See Harbord,
Harris, and Sterne (2016) for a summary of these tests.
Two types of tests for funnel-plot asymmetry are considered in the literature: regression-based tests
(Egger et al. 1997 ; Harbord, Egger, and Sterne 2006; and Peters et al. 2006 ) and a nonparametric
rank-based test (Begg and Mazumdar 1994). These tests explore the relationship between the study-
specific effect sizes and study precision. The presence of the funnel-plot asymmetry is declared when
the association between the two measures is greater than what would have been observed by chance.
For more details regarding the tests of funnel-plot asymmetry, see [META] meta bias.
Tests for funnel-plot asymmetry are useful for detecting publication bias but are not able to estimate
the impact of this bias on the final meta-analysis results. The nonparametric trim-and-fill method of
Duval and Tweedie (2000a, 2000b) provides a way to assess the impact of missing studies because of
publication bias on the meta-analysis. It evaluates the amount of potential bias present in meta-analysis
and its impact on the final conclusion. This method is typically used as a sensitivity analysis to the
presence of publication bias.
See [META] meta trimfill for more information about the trim-and-fill method.
Cumulative meta-analysis
Cumulative meta-analysis performs multiple meta-analyses, where each analysis is produced by
adding one study at a time. It is useful to identify various trends in the overall effect sizes. For example,
when the studies are ordered chronologically, one can determine the point in time of the potential change
in the direction or significance of the effect size. A well-known example of a cumulative meta-analysis
is presented in Cumulative meta-analysis of [META] meta for the study of the efficacy of streptokinase
after a myocardial infarction (Lau et al. 1992). Also see the cumulative() option in [META] meta
summarize and [META] meta forestplot.
Intro — Introduction to meta-analysis 13
Leave-one-out meta-analysis
Just like cumulative meta-analysis, the leave-one-out meta-analysis also performs multiple meta-
analyses; however, in this case, each analysis is produced by excluding a single study. It is quite common
that studies yield effect sizes that are relatively exaggerated. Their presence in the meta-analysis may
distort the overall results, and it is of great importance to identify such studies for further examination.
The leave-one-out meta-analysis is a useful tool to investigate the influence of each study on the over-
all effect size estimate. See the leaveoneout option in [META] meta summarize and [META] meta
forestplot for more information.
Multivariate meta-regression
Multivariate meta-analysis combines results from studies where multiple dependent effect sizes (out-
comes) are reported by each study. Let θ̂𝑗 be a 𝑑×1 vector of estimates of the true population multivariate
effect size θ𝑗 for study 𝑗. Let x𝑗 be a 1 × 𝑝 vector of moderators with the corresponding unknown 𝑝 × 1
regression coefficient vector β𝑖 for 𝑖 = 1, . . . , 𝑑.
An FE multivariate meta-regression (Raudenbush, Becker, and Kalaian 1988) is given by
θ̂𝑗 = X𝑗 β + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
′
where X𝑗 = x𝑗 ⊗𝐼𝑑 is a 𝑑×𝑑𝑝 matrix and β = (β′1 , β′2 , . . . , β′𝑑 ) is a 𝑑𝑝×1 vector of unknown regression
coefficients; ⊗ is the Kronecker product. The within-study covariance matrices 𝚲𝑗 ’s are assumed known
and thus do not require estimation.
The RE multivariate meta-regression (Berkey et al. 1998) can be expressed as
Multilevel meta-regression
Multilevel meta-analysis synthesizes the results from potentially dependent effect sizes that exhibit
a hierarchical or nested structure. For example, studies and their corresponding effect sizes may be
nested within higher-level groupings such as geographical locations (for example, states or countries) or
administrative units (for example, school districts).
When a hierarchical structure is present in the data, the multilevel meta-analysis is preferred over the
classical meta-analysis. By properly accounting for the hierarchical structure among the effect sizes, we
can obtain more accurate estimates of the overall effect size and better overall statistical inference. We
can also decompose the heterogeneity present among the effect sizes across the different hierarchical
levels, which can provide valuable insights into the factors that affect our outcome of interest.
Intro — Introduction to meta-analysis 14
The three-level meta-regression model (for example, Goldstein et al. [2000]; Thompson, Turner, and
Warn [2001]; and Konstantopoulos [2011]) can be expressed as
̂ =x β+z u +z u +𝜖 (3) (3) (2) (2)
𝜃𝑗𝑘𝑟 𝑗𝑘𝑟 𝑗𝑘𝑟 𝑗 𝑗𝑘𝑟 𝑗𝑘 𝑗𝑘𝑟
References
Antes, G., and I. Chalmers. 2003. Under-reporting of clinical trials is unethical. Lancet 361: 978–979. [Link]
1016/S0140-6736(03)12838-3.
Arnqvist, G., and D. Wooster. 1995. Meta-analysis: Synthesizing research findings in ecology and evolution. Trends in
Ecology and Evolution 10: 236–240. [Link]
Barrick, M. R., and M. K. Mount. 1991. The big five personality dimensions and job performance: A meta-analysis.
Personnel Psychology 44: 1–26. [Link]
Begg, C. B., and J. A. Berlin. 1988. Publication bias: A problem in interpreting medical data. Journal of the Royal Statistical
Society, A ser., 151: 419–463. [Link]
Begg, C. B., and M. Mazumdar. 1994. Operating characteristics of a rank correlation test for publication bias. Biometrics
50: 1088–1101. [Link]
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
———. 1998. Meta-analysis of multiple outcomes by regression with random effects. Statistics in Medicine 17:
2537–2550. [Link]
Berlin, J. A. 1995. Invited commentary: Benefits of heterogeneity in meta-analysis of data from epidemiologic studies.
American Journal of Epidemiology 142: 383–387. [Link]
Bernard, R. M., P. C. Abrami, Y. Lou, E. Borokhovski, A. Wade, L. Wozney, P. A. Wallet, M. Fiset, and B. Huang. 2004.
How does distance education compare with classroom instruction? A meta-analysis of the empirical literature. Review
of Educational Research 74: 379–439. [Link]
Borenstein, M., L. V. Hedges, J. P. T. Higgins, and H. R. Rothstein. 2009. Introduction to Meta-Analysis. Chichester, UK:
Wiley.
Card, D., J. Kluve, and A. Weber. 2010. Active labour market policy evaluations: A meta-analysis. Economic Journal 120:
F452–F477. [Link]
Intro — Introduction to meta-analysis 15
Cooper, H., L. V. Hedges, and J. C. Valentine, eds. 2019. The Handbook of Research Synthesis and Meta-Analysis. 3rd ed.
New York: Russell Sage Foundation.
Dalhuisen, J. M., R. J. G. M. Florax, H. L. F. de Groot, and P. Nijkamp. 2003. Price and income elasticities of residential
water demand: A meta-analysis. Land Economics 79: 292–308. [Link]
Deeks, J. J., J. P. T. Higgins, and D. G. Altman. 2017. “Analysing data and undertaking meta-analyses”. In Cochrane
Handbook for Systematic Reviews of Interventions Version 5.2.0, edited by J. P. T. Higgins and S. Green. London: The
Cochrane Collaboration. [Link]
DerSimonian, R., and N. M. Laird. 1986. Meta-analysis in clinical trials. Controlled Clinical Trials 7: 177–188. https:
//[Link]/10.1016/0197-2456(86)90046-2.
Dickersin, K. 1988. Report from the panel on the case for registers of clinical trials at the eighth annual meeting of the
society for clinical trials. Controlled Clinical Trials 9: 76–80. [Link]
———. 2005. “Publication bias: Recognizing the problem, understanding its origins and scope, and preventing harm”.
In Publication Bias in Meta-Analysis: Prevention, Assessment and Adjustments, edited by H. R. Rothstein, A. J. Sutton,
and M. Borenstein, 9–33. Chichester, UK: Wiley. [Link]
Dickersin, K., and D. Rennie. 2003. Registering clinical trials. Journal of the American Medical Association 290: 516–523.
[Link]
Duval, S., and R. L. Tweedie. 2000a. Trim and fill: A simple funnel-plot–based method of testing and adjusting for
publication bias in meta-analysis. Biometrics 56: 455–463. [Link]
———. 2000b. A nonparametric “trim and fill” method of accounting for publication bias in meta-analysis. Journal of
the American Statistical Association 95: 89–98. [Link]
Egger, M., G. Davey Smith, M. Schneider, and C. Minder. 1997. Bias in meta-analysis detected by a simple, graphical
test. BMJ 315: 629–634. [Link]
Fan, X., and M. Chen. 2001. Parental involvement and students’ academic achievement: A meta-analysis. Educational
Psychology Review 13: 1–22. [Link]
Fleiss, J. L., B. Levin, and M. C. Paik. 2003. Statistical Methods for Rates and Proportions. 3rd ed. New York: Wiley.
[Link]
Gendreau, P., T. Little, and C. Goggin. 1996. A meta-analysis of the predictors of adult offender recidivism: What works!
Criminology 34: 575–608. [Link]
Givens, G. H., D. D. Smith, and R. L. Tweedie. 1997. Publication bias in meta-analysis: A Bayesian data-augmentation
approach to account for issues exemplified in the passive smoking debate. Statistical Science 12: 221–240. https:
//[Link]/10.1214/ss/1030037958.
Glass, G. V. 1976. Primary, secondary, and meta-analysis of research. Educational Researcher 5: 3–8. [Link]
2307/1174772.
Goldstein, H., M. Yang, R. Z. Omar, R. M. Turner, and S. G. Thompson. 2000. Meta-analysis using multilevel models
with an application to the study of class size effects. Journal of the Royal Statistical Society, C ser., 49: 399–412.
[Link]
Greenland, S. 1987. Quantitative methods in the review of epidemiologic literature. Epidemiologic Reviews 9: 1–30.
[Link]
Greenland, S., and J. M. Robins. 1985. Estimation of a common effect parameter from sparse follow-up data. Biometrics
41: 55–68. [Link]
Gurevitch, J., P. S. Curtis, and M. H. Jones. 2001. Meta-analysis in ecology. Advances in Ecology 32: 199–247. https:
//[Link]/10.1016/S0065-2504(01)32013-5.
Hanji, M. B. 2017. Meta-Analysis in Psychiatry Research: Fundamental and Advanced Methods. Waretown, NJ: Apple
Academic Press. [Link]
Harbord, R. M., M. Egger, and J. A. C. Sterne. 2006. A modified test for small-study effects in meta-analyses of controlled
trials with binary endpoints. Statistics in Medicine 25: 3443–3457. [Link]
Harbord, R. M., R. J. Harris, and J. A. C. Sterne. 2016. “Updated tests for small-study effects in meta-analyses”. In Meta-
Analysis in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 153–165.
2nd ed. College Station, TX: Stata Press.
Intro — Introduction to meta-analysis 16
Hardy, R. J., and S. G. Thompson. 1998. Detecting and describing heterogeneity in meta-analysis. Statistics in Medicine
17: 841–856. [Link]
Harter, J. K., F. L. Schmidt, and T. L. Hayes. 2002. Business-unit-level relationship between employee satisfaction,
employee engagement, and business outcomes: A meta-analysis. Applied Psychology 87: 268–279. [Link]
1037/0021-9010.87.2.268.
Hay, D. C., W. R. Knechel, and N. Wang. 2006. Audit fees: A meta-analysis of the effect of supply and demand attributes.
Contemporary Accounting Research 23: 141–191. [Link]
Hedges, L. V. 1982. Estimation of effect size from a series of independent experiments. Psychological Bulletin 92:
490–499. [Link]
———. 1983. A random effects model for effect sizes. Psychological Bulletin 93: 388–395. [Link]
2909.93.2.388.
———. 1992. Modeling publication selection effects in meta-analysis. Statistical Science 7: 246–255. [Link]
1214/ss/1177011364.
Hedges, L. V., J. Gurevitch, and P. S. Curtis. 1999. The meta-analysis of response ratios in experimental ecology. Ecology
80: 1150–1156. [Link]
Hedges, L. V., and I. Olkin. 1985. Statistical Methods for Meta-Analysis. Orlando, FL: Academic Press.
Hedges, L. V., and J. L. Vevea. 1998. Fixed- and random-effects models in meta-analysis. Psychological Methods 3:
486–504. [Link]
Hetherington, J., K. Dickersin, I. Chalmers, and C. L. Meinert. 1989. Retrospective and prospective identification of
unpublished controlled trials: Lessons from a survey of obstetricians and pediatricians. Pediatrics 84: 374–380.
Higgins, J. P. T., and S. Green, eds. 2017. Cochrane Handbook for Systematic Reviews of Interventions Version 5.2.0.
London: The Cochrane Collaboration. [Link]
Iyengar, S., and J. B. Greenhouse. 1988. Selection models and the file drawer problem. Statistical Science 3: 109–117.
[Link]
Kicinski, M., D. A. Springate, and E. Kontopantelis. 2015. Publication bias in meta-analyses from the Cochrane Database
of Systematic Reviews. Statistics in Medicine 34: 2781–2793. [Link]
Knapp, G., and J. Hartung. 2003. Improved tests for a random effects meta-regression with a single covariate. Statistics
in Medicine 22: 2693–2710. [Link]
Konstantopoulos, S. 2011. Fixed effects and variance components estimation in three-level meta-analysis. Research Syn-
thesis Methods 2: 61–76. [Link]
Kontopantelis, E., and D. Reeves. 2020. Pairwise meta-analysis of aggregate data using metaan in Stata. Stata Journal 20:
680–705.
Krakovsky, M. 2004. Register or perish: Looking to make the downside of therapies known. Scientific American 6: 18–20.
Lau, J., E. M. Antman, J. Jimenez-Silva, B. Kupelnick, F. Mosteller, and T. C. Chalmers. 1992. Cumulative meta-analysis
of therapeutic trials for myocardial infarction. New England Journal of Medicine 327: 248–254. [Link]
NEJM199207233270406.
Lewis, J. A., and S. H. Ellis. 1982. A statistical appraisal of post-infarction beta-blocker trials. Primary Cardiology Suppl. 1:
31–37.
Light, R. J., and D. B. Pillemer. 1984. Summing Up: The Science of Reviewing Research. Cambridge, MA: Harvard
University Press. [Link]
Linden, A. 2022. Computing the fragility index for randomized trials and meta-analyses using Stata. Stata Journal 22:
77–88.
Mantel, N., and W. Haenszel. 1959. Statistical aspects of the analysis of data from retrospective studies of disease. Journal
of the National Cancer Institute 22: 719–748. Reprinted in Evolution of Epidemiologic Ideas: Annotated Readings on
Concepts and Methods, ed. S. Greenland, pp. 112–141. Newton Lower Falls, MA: Epidemiology Resources.
Palmer, T. M., and J. A. C. Sterne, eds. 2016. Meta-Analysis in Stata: An Updated Collection from the Stata Journal. 2nd
ed. College Station, TX: Stata Press.
Paule, R. C., and J. Mandel. 1982. Consensus values and weighting factors. Journal of Research of the National Bureau of
Standards 87: 377–385. [Link]
Intro — Introduction to meta-analysis 17
Pearson, K. 1904. Report on certain enteric fever inoculation statistics. BMJ 2: 1243–1246. [Link]
2.2288.1243.
Peters, J. L., A. J. Sutton, D. R. Jones, K. R. Abrams, and L. Rushton. 2006. Comparison of two methods to detect
publication bias in meta-analysis. Journal of the American Medical Association 295: 676–680. [Link]
jama.295.6.676.
———. 2008. Contour-enhanced meta-analysis funnel plots help distinguish publication bias from other causes of asym-
metry. Journal of Clinical Epidemiology 61: 991–996. [Link]
Pratt, T. C., and F. T. Cullen. 2000. The empirical status of Gottfredson and Hirschi’s general theory of crime: A meta-
analysis. Criminology 38: 931–964. [Link]
Raudenbush, S. W. 2009. “Analyzing effect sizes: Random-effects models”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 295–316. 2nd ed. New York: Russell Sage
Foundation.
Raudenbush, S. W., B. J. Becker, and H. Kalaian. 1988. Modeling multivariate effect sizes. Psychological Bulletin 103:
111–120. [Link]
Rice, K., J. P. T. Higgins, and T. S. Lumley. 2018. A re-evaluation of fixed effect(s) meta-analysis. Journal of the Royal
Statistical Society, A ser., 181: 205–227. [Link]
Rosenthal, R. 1979. The file drawer problem and tolerance for null results. Psychological Bulletin 86: 638–641. https:
//[Link]/10.1037/0033-2909.86.3.638.
Rosenthal, R., and D. B. Rubin. 1982. Comparing effect sizes of independent studies. Psychological Bulletin 92: 500–504.
[Link]
Rothstein, H. R., A. J. Sutton, and M. Borenstein, eds. 2005. Publication Bias in Meta-Analysis: Prevention, Assessment
and Adjustments. Chichester, UK: Wiley. [Link]
Schmidt, F. L., and J. E. Hunter. 2015. Methods of Meta-Analysis: Correcting Error and Bias in Research Findings. 3rd ed.
Thousand Oaks, CA: Sage. [Link]
Sidik, K., and J. N. Jonkman. 2005. A note on variance estimation in random effects meta-regression. Journal of Biophar-
maceutical Statistics 15: 823–838. [Link]
———. 2007. A comparison of heterogeneity variance estimators in combining results of studies. Statistics in Medicine
26: 1964–1981. [Link]
Simes, R. J. 1986. Publication bias: The case for an international registry of clinical trials. Journal of Clinical Oncology
4: 1529–1541. [Link]
Sin, N. L., and S. Lyubomirsky. 2009. Enhancing well-being and alleviating depressive symptoms with positive psychol-
ogy interventions: A practice-friendly meta-analysis. Journal of Clinical Psychology 65: 467–487. [Link]
1002/jclp.20593.
Stern, J. M., and R. J. Simes. 1997. Publication bias: Evidence of delayed publication in a cohort study of clinical research
projects. BMJ 315: 640–645. [Link]
Sterne, J. A. C., B. J. Becker, and M. Egger. 2005. “The funnel plot”. In Publication Bias in Meta-Analysis: Prevention,
Assessment and Adjustments, edited by H. R. Rothstein, A. J. Sutton, and M. Borenstein, 73–98. Chichester, UK: Wiley.
[Link]
Sterne, J. A. C., D. Gavaghan, and M. Egger. 2000. Publication and related bias in meta-analysis: Power of statistical
tests and prevalence in the literature. Journal of Clinical Epidemiology 53: 1119–1129. [Link]
4356(00)00242-0.
Sterne, J. A. C., A. J. Sutton, J. P. A. Ioannidis, N. Terrin, D. R. Jones, J. Lau, J. R. Carpenter, G. Rücker, R. M. Harbord,
C. H. Schmid, J. Tetzlaff, J. J. Deeks, J. L. Peters, P. Macaskill, G. Schwarzer, S. Duval, D. G. Altman, D. Moher, and
J. P. T. Higgins. 2011. Recommendations for examining and interpreting funnel plot asymmetry in meta-analyses of
randomised controlled trials. BMJ 343: d4002. [Link]
Sutton, A. J., K. R. Abrams, D. R. Jones, T. A. Sheldon, and F. Song. 2000a. Methods for Meta-Analysis in Medical
Research. New York: Wiley.
Sutton, A. J., S. Duval, R. L. Tweedie, K. R. Abrams, and D. R. Jones. 2000b. Empirical assessment of effect of publication
bias on meta-analyses. BMJ 320: 1574–1577. [Link]
Intro — Introduction to meta-analysis 18
Sutton, A. J., and J. P. T. Higgins. 2008. Recent developments in meta-analysis. Statistics in Medicine 27: 625–650.
[Link]
Thompson, S. G. 1994. Systematic review: Why sources of heterogeneity in meta-analysis should be investigated. BMJ
309: 1351–1355. [Link]
Thompson, S. G., and J. P. T. Higgins. 2002. How should meta-regression analyses be undertaken and interpreted? Statis-
tics in Medicine 21: 1559–1573. [Link]
Thompson, S. G., and S. J. Sharp. 1999. Explaining heterogeneity in meta-analysis: A comparison of methods. Statistics
in Medicine 18: 2693–2708. [Link]
Thompson, S. G., R. M. Turner, and D. E. Warn. 2001. Multilevel models for meta-analysis, and their applica-
tion to absolute risk differences. Statistical Methods in Medical Research 10: 375–392. [Link]
096228020101000602.
Veroniki, A. A., D. Jackson, W. Viechtbauer, R. Bender, J. Bowden, G. Knapp, O. Kuss, J. P. T. Higgins, D. Langan,
and G. Salanti. 2016. Methods to estimate the between-study variance and its uncertainty in meta-analysis. Research
Synthesis Methods 7: 55–79. [Link]
Viechtbauer, W. 2005. Bias and efficiency of meta-analytic variance estimators in the random-effects model. Journal of
Educational and Behavioral Statistics 30: 261–293. [Link]
Viechtbauer, W., J. A. López-López, J. Sánchez-Meca, and F. Marín-Martínez. 2015. A comparison of procedures to test
for moderators in mixed-effects meta-regression models. Psychological Methods 20: 360–374. [Link]
met0000023.
Whitehead, A., and J. Whitehead. 1991. A general parametric approach to the meta-analysis of randomized clinical trials.
Statistics in Medicine 10: 1665–1677. [Link]
Winfree, R., R. Aguilar, D. P. Vázquez, G. LeBuhn, and M. A. Aizen. 2009. A meta-analysis of bees’ responses to anthro-
pogenic disturbance. Ecology 90: 2068–2076. [Link]
Woodward, R. T., and Y.-S. Wui. 2001. The economic value of wetland services: A meta-analysis. Ecological Economics
37: 257–270. [Link]
Also see
[META] meta — Introduction to meta
[META] Glossary
meta — Introduction to meta
Description
The meta command performs meta-analysis. In a nutshell, you can do the following:
1. Compute or specify effect sizes; see [META] meta esize and [META] meta set.
2. Summarize meta-analysis data; see [META] meta summarize and [META] meta forestplot.
3. Examine heterogeneity and perform meta-regression; see [META] meta galbraithplot,
[META] meta labbeplot, and [META] meta regress.
4. Explore small-study effects and publication bias; see [META] meta funnelplot,
[META] meta bias, and [META] meta trimfill.
5. Perform multivariate meta-regression; see [META] meta mvregress.
6. Perform multilevel meta-regression; see [META] meta meregress and [META] meta mul-
tilevel.
19
meta — Introduction to meta 20
Traditionally, meta-analysis literature and software used the term “fixed-effect model” (notice singular
effect) to refer to the model that assumes a common effect for all studies. To avoid potential confusion
with the term “fixed-effects model” (notice plural effects), which is commonly used in various disciplines
to refer to the model whose effects vary from one group to another, we adopted the terminology from
Rice, Higgins, and Lumley (2018) of the “common-effect model”. This terminology is also reflected
in the option names for specifying the corresponding models with meta commands: common specifies a
common-effect model and fixed specifies a fixed-effects model. (Similarly, random specifies a random-
effects model.) Although the overall effect-size estimates from the common-effect and fixed-effects
models are computationally identical, their interpretation is different. We provide the two options to
emphasize this difference and to encourage proper interpretation of the final results given the specified
model. See common-effect versus fixed-effects models in [META] meta data and Meta-analysis models
in [META] Intro for more information.
Depending on the chosen meta-analysis model, various estimation methods are available: inverse-
variance and Mantel–Haenszel for the common-effect and fixed-effects models and seven different es-
timators for the between-study variance parameter for the random-effects model. See Declaring a meta-
analysis estimation method in [META] meta data.
Also see Default meta-analysis model and method in [META] meta data for the default model and
method used by the meta commands.
Results of a basic meta-analysis can be summarized numerically in a table by using meta summarize
(see [META] meta summarize) or graphically by using forest plots; see [META] meta forestplot. See
Basic meta-analysis summary.
To evaluate the trends in the estimates of the overall effect sizes, you can use the cumulative() op-
tion with meta summarize or meta forestplot to perform cumulative meta-analysis. See Cumulative
meta-analysis.
In the presence of subgroup heterogeneity, you can use the subgroup() option with meta summarize
or meta forestplot to perform single or multiple subgroup analyses. See Subgroup meta-analysis.
Heterogeneity can also be explored by fitting meta-regression using the meta regress command;
see [META] meta regress. After meta-regression, you can produce bubble plots (see [META] estat bub-
bleplot) and perform other postestimation analysis (see [META] meta regress postestimation). Also see
Heterogeneity: Galbraith plot, meta-regression, and bubble plot.
In addition to forest plots, you can also visually explore heterogeneity using meta galbraithplot,
which works with any type of data (see [META] meta galbraithplot), and meta labbeplot, which works
with a two-group comparison of binary outcomes (see [META] meta labbeplot).
Publication bias, or more accurately, small-study effects or funnel-plot asymmetry, may be explored
graphically via standard or contour-enhanced funnel plots (see [META] meta funnelplot). Regression-
based and other tests for detecting small-study effects are available with the meta bias command; see
[META] meta bias. The trim-and-fill method for assessing the potential impact of publication bias on the
meta-analysis results is implemented in the meta trimfill command; see [META] meta trimfill. See
Funnel plots for exploring small-study effects, Testing for small-study effects, and Trim-and-fill analysis
for addressing publication bias.
Multivariate meta-regression can be fit via meta mvregress (see [META] meta mvregress). Af-
ter multivariate meta-regression, you can explore heterogeneity using estat heterogeneity (see
[META] estat heterogeneity (mv)) and conduct other postestimation analysis (see [META] meta
mvregress postestimation).
meta — Introduction to meta 23
Multilevel meta-regression can be fit via meta meregress (see [META] meta meregress) or meta
multilevel ([META] meta multilevel). After multilevel meta-regression, you can explore multilevel
heterogeneity using estat heterogeneity (see [META] estat heterogeneity (me)) and conduct other
postestimation analysis (see [META] meta me postestimation).
Example datasets
We present several datasets that we will use throughout the documentation to demonstrate the meta
suite. Feel free to skip over this section to Tour of meta-analysis commands and come back to it later for
specific examples.
Example datasets are presented under the following headings:
Effects of teacher expectancy on pupil IQ ([Link])
Effect of streptokinase after a myocardial infarction ([Link])
Efficacy of BCG vaccine against tuberculosis ([Link])
Effectiveness of nonsteroidal anti-inflammatory drugs ([Link])
Treatment of moderate periodontal disease ([Link])
This example describes a well-known study of Rosenthal and Jacobson (1968) that found the so-
called Pygmalion effect, in which expectations of teachers affected outcomes of their students. A group
of students was tested and then divided randomly into experimentals and controls. The division may
have been random, but the teachers were told that the students identified as experimentals were likely to
show dramatic intellectual growth. A few months later, a test was administered again to the entire group
of students. The experimentals outperformed the controls.
Subsequent researchers attempted to replicate the results, but many did not find the hypothesized
effect.
Raudenbush (1984) did a meta-analysis of 19 studies and hypothesized that the Pygmalion effect might
be mitigated by how long the teachers had worked with the students before being told about the nonex-
istent higher expectations for the randomly selected subsample of students. We explore this hypothesis
in Subgroup meta-analysis.
meta — Introduction to meta 24
The data are saved in [Link]. Below, we describe some of the variables that will be used in
later analyses.
. use [Link]
(Effects of teacher expectancy on pupil IQ)
. describe
Contains data from [Link]
Observations: 19 Effects of teacher expectancy
on pupil IQ
Variables: 14 24 Apr 2024 08:28
(_dta has notes)
Sorted by:
Variables stdmdiff and se contain the effect sizes (standardized mean differences between the exper-
imental and control groups) and their standard errors, respectively. Variable weeks records the number
of weeks of prior contact between the teacher and the students. Its dichotomized version, week1, records
whether the teachers spent more than one week with the students (high-contact group, week1 = 1) or
one week and less (low-contact group, week1 = 0) prior to the experiment.
We perform basic meta-analysis summary of this dataset in Basic meta-analysis summary and explore
the between-study heterogeneity of the results with respect to the amount of the teacher–student contact
in Subgroup meta-analysis.
This dataset is also used in Examples of using meta summarize of [META] meta summarize, exam-
ple 5 of [META] meta forestplot, example 8 of [META] meta funnelplot, and Examples of using meta
bias of [META] meta bias.
See example 1 for the declaration of the [Link]. You can also use its predeclared version,
[Link].
Streptokinase is a medication used to break down clots. In the case of myocardial infarction (heart
attack), breaking down clots reduces damage to the heart muscle.
meta — Introduction to meta 25
Lau et al. (1992) conducted a meta-analysis of 33 studies performed between 1959 and 1988. These
studies were of heart attack patients who were randomly treated with streptokinase or a placebo. Lau
et al. (1992) introduced cumulative meta-analysis to investigate the time when the effect of streptokinase
became statistically significant. Studies were ordered by time, and as each was added to the analysis,
standard meta-analysis was performed. See Cumulative meta-analysis for details.
The data are saved in [Link].
. use [Link]
(Effect of streptokinase after a myocardial infarction)
. describe
Contains data from [Link]
Observations: 33 Effect of streptokinase after a
myocardial infarction
Variables: 7 14 May 2024 18:24
(_dta has notes)
Sorted by:
The outcome of interest was death from myocardial infarction. Variables ndeadt and nsurvt contain the
numbers of deaths and survivals, respectively, in the treatment group and ndeadc and nsurvc contain
those in the control (placebo) group.
See example 5 for the declaration of the [Link]. You can also use its predeclared version,
[Link].
BCG vaccine is a vaccine used to prevent tuberculosis (TB). The vaccine is used worldwide. Effi-
cacy has been reported to vary. Colditz et al. (1994) performed meta-analysis on the efficacy using 13
studies—all randomized trials—published between 1948 and 1980. The dataset, shown below, has been
studied by, among others, Berkey et al. (1995), who hypothesized that the latitude of the study location
might explain the variations in efficacy. We explore this via meta-regression in Heterogeneity: Galbraith
plot, meta-regression, and bubble plot.
meta — Introduction to meta 26
The data are saved in [Link]. Below, we describe some of the variables we will use in future
analyses.
. use [Link]
(Efficacy of BCG vaccine against tuberculosis)
. describe
Contains data from [Link]
Observations: 13 Efficacy of BCG vaccine against
tuberculosis
Variables: 11 1 May 2024 14:40
(_dta has notes)
Variables npost and nnegt contain the numbers of positive and negative TB cases, respectively, in the
treatment group (vaccinated group) and nposc and nnegc contain those in the control group. Variable
latitude records the latitude of the study location, which is a potential moderator for the vaccine ef-
ficacy. Studies are identified by studylbl, which records the names of the authors and the year of the
publication for each study.
This dataset is also used in example 3 of [META] meta data, Examples of using meta forestplot of
[META] meta forestplot, example 1 of [META] meta galbraithplot, example 1 of [META] meta labbe-
plot, Examples of using meta regress of [META] meta regress, Remarks and examples of [META] meta
regress postestimation, and Examples of using estat bubbleplot of [META] estat bubbleplot.
See example 7 for the declaration of the [Link]. You can also use its predeclared version,
[Link].
Strains and sprains cause pain, and nonsteroidal anti-inflammatory drugs (NSAIDS) are used to treat
it. How well do they work? People who study such things define success as a 50-plus percent reduction
in pain. Moore et al. (1998) performed meta-analysis of 37 randomized trials that looked into successful
pain reduction via NSAIDS. Following their lead, we will explore publication bias or, more generally,
small-study effects in these data. See Funnel plots for exploring small-study effects, Testing for small-
study effects, and Trim-and-fill analysis for addressing publication bias.
meta — Introduction to meta 27
Sorted by:
Variables nstreat and nftreat contain the numbers of successes and failures, respectively, in the ex-
perimental group and nscontrol and nfcontrol contain those in the control group.
This dataset is also used in Examples of using meta funnelplot of [META] meta funnelplot and ex-
ample 3 of [META] meta bias.
See example 11 for the declaration of the [Link]. You can also use its predeclared version,
[Link].
Periodontal disease is the inflammation of the gum that may destroy the bone supporting the teeth.
Antczak-Bouckoms et al. (1993) investigated five randomized controlled trials that explored the impact
of two procedures, surgical and nonsurgical, on treating periodontal disease. This dataset was also ana-
lyzed by Berkey et al. (1998). Subjects’ mouths were split into sections. These sections were randomly
allocated to the two treatment procedures. For each patient, at least one section was treated surgically and
at least one other section was treated nonsurgically. Two outcomes (effect sizes) of interest were mean
improvements from baseline (pretreatment) in probing depth (y1) and attachment level (y2) around the
teeth.
meta — Introduction to meta 28
Sorted by:
Other variables of interest that will be used in example 15 are the year of publication (pubyear) and
three variables defining the within-study covariance matrix for each study: v11, v12, and v22.
This dataset is also used in Examples of using meta mvregress of [META] meta mvregress.
commands. If needed, we can update our initial settings throughout the meta-analysis session by using
meta update. The declaration step helps minimize potential mistakes and typing; see [META] meta data
for details.
First, we prepare our data for use with meta commands. The dataset contains precomputed effect sizes,
standardized mean differences stored in variable stdmdiff, and their standard errors stored in variable
se. We will use meta set to declare these data. (If we needed to compute the individual effect sizes and
their standard errors from the available summary data, we would have used [META] meta esize.)
We specify the effect sizes stdmdiff and their standard errors se with meta set. We also specify
the variable that contains the study labels in the studylabel() option and the effect-size label in the
eslabel() option. These are optional but useful for displaying the study and effect-size labels instead
of generic study numbers and the generic label Effect size.
. meta set stdmdiff se, studylabel(studylbl) eslabel(Std. mean diff.)
Meta-analysis setting information
Study information
No. of studies: 19
Study label: studylbl
Study size: N/A
Effect size
Type: <generic>
Label: Std. mean diff.
Variable: stdmdiff
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The header reports that there are 𝐾 = 19 studies in the meta-analysis and which variables contain the
study labels, the effect sizes, and the standard errors. The output also shows that we will be using the
random-effects model with the REML estimation method for our meta-analysis. This can be changed by
specifying options with either meta set or the meta command of interest; see Declaring a meta-analysis
model in [META] meta data.
meta — Introduction to meta 30
meta set creates some system variables beginning with meta and stores some data characteristics.
For example, the system variables meta cil and meta ciu store the lower and upper limits of the
CIs for the effect sizes. See System variables in [META] meta data for details.
See [META] meta set for more information about the command. o
In this section, we focus on basic meta-analysis summary by using [META] meta summarize and
[META] meta forestplot. See Introduction of [META] meta summarize and Overview of [META] meta
forestplot for an overview of the meta-analysis summary and forest plots.
The output from the standard meta-analysis summary includes heterogeneity statistics, the individual
and overall effect sizes, and other information. The estimate of the overall effect size 𝜃 is reported at
the bottom of the table and labeled as theta. It is computed as the weighted average of study-specific
effect sizes (standardized mean differences in our example). For these data, the overall estimate is 0.084
with a 95% CI of [−0.018, 0.185]. The significance test of 𝐻0∶ 𝜃 = 0 is reported below the table and has
a 𝑝-value of 0.1052, which suggests that the overall effect size is not statistically significantly different
from zero.
We should be careful with our inferential conclusions about 𝜃 because of the presence of between-
study heterogeneity, as indicated, for instance, by the homogeneity test of 𝐻0∶ 𝜃1 = 𝜃2 = · · · = 𝜃19 = 𝜃
reported following the significance test. Its 𝑄 test statistic is 35.83 with a 𝑝-value of 0.0074, from which
we can infer that there is significant heterogeneity between the individual studies.
The presence of heterogeneity among studies can be inferred also from the heterogeneity statistics
reported in the header. For instance, 𝐼 2 = 41.84 indicates that about 42% of the variability in the
effect-size estimates is due to the differences between studies. The between-study heterogeneity must be
addressed before final meta-analytic conclusions; see Subgroup meta-analysis.
The table also reports the study-specific effect-sizes and their corresponding 95% CIs, but this infor-
mation can be suppressed, if desired, by specifying the nostudies option.
See [META] meta summarize for details.
. meta forestplot
Effect-size label: Std. mean diff.
Effect size: stdmdiff
Std. err.: se
Study label: studylbl
We obtain the same meta-analysis summary as with meta summarize in example 2, but it is now dis-
played on a graph. In addition to the estimated values, the effect sizes are displayed graphically as blue
squares centered at their estimates with areas proportional to the study weights and with horizontal lines
or whiskers that represent the length of the corresponding CIs. The overall effect size is displayed as a
green diamond with its width corresponding to the respective CI. (Notice that only the width and not the
height of the diamond is relevant for the overall effect size.)
A forest plot provides an easy way to visually explore the agreement between the study-specific effect
sizes and how close they are to the overall effect size. We can also spot the studies with large weights
more easily by simply looking at the studies with large squares. In our example, the presence of between-
study heterogeneity is evident—there are several studies whose effect-size estimates are very different
from the overall estimate, and there are studies whose CIs do not even overlap.
See [META] meta forestplot for details.
meta — Introduction to meta 33
Subgroup meta-analysis
In example 2 and example 3, we established the presence of between-study heterogeneity in the pupil
IQ dataset. Sometimes, the differences between studies may be explained by study-level covariates avail-
able in the data. When these covariates are categorical, we can perform meta-analysis separately for each
category, which is known as subgroup meta-analysis; see Subgroup meta-analysis of [META] Intro.
Overall
theta 0.084 -0.018 0.185
Heterogeneity summary
Test of group differences: Q_b = chi2(1) = 14.77 Prob > Q_b = 0.000
meta — Introduction to meta 35
Indeed, if we look at the overall effect-size estimates for each group, the low-contact group has a larger
estimate of 0.373 with a 95% CI of [0.189, 0.557], which suggests a statistically significant effect in this
group, whereas the high-contact group has a smaller estimate of −0.021 with a 95% CI of [−0.102, 0.059],
which suggests that the effect in this group is not different from 0 at a 5% significance level. Clearly, the
amount of teacher contact with students has an impact on the meta-analysis results.
If we look at the heterogeneity summary reported following the main table, we will see that hetero-
geneity is reduced within each group. It is essentially nonexistent in the high-contact group and is much
smaller (for instance, 𝐼 2 = 22% versus the earlier 𝐼 2 = 42%) in the low-contact group.
The test of group differences (with 𝑄𝑏 = 14.77 and the corresponding 𝑝-value of 0.000) reported at the
bottom of the output also indicates that the group-specific overall effect sizes are statistically different.
We can also present the results of our subgroup analysis graphically by using the subgroup() option
with meta forest:
meta — Introduction to meta 36
> 1 week
Rosenthal et al., 1974 0.03 [ -0.21, 0.27] 7.74
Conn et al., 1968 0.12 [ -0.17, 0.41] 6.60
Jose & Cody, 1971 -0.14 [ -0.47, 0.19] 5.71
Evans & Rosenthal, 1969 -0.06 [ -0.26, 0.14] 9.06
Fielder et al., 1971 -0.02 [ -0.22, 0.18] 9.06
Claiborn, 1969 -0.32 [ -0.75, 0.11] 3.97
Henrikson, 1970 0.23 [ -0.34, 0.80] 2.59
Fine, 1972 -0.18 [ -0.49, 0.13] 6.05
Grieger, 1970 -0.06 [ -0.39, 0.27] 5.71
Fleming & Anttonen, 1971 0.07 [ -0.11, 0.25] 9.64
Ginsburg, 1970 -0.07 [ -0.41, 0.27] 5.43
Heterogeneity: τ = 0.00, I = 0.00%, H = 1.00
2 2 2
-0.02 [ -0.10, 0.06]
Test of θi = θj: Q(10) = 6.40, p = 0.78
Test of θ = 0: z = -0.52, p = 0.60
It appears that stratifying our meta-analysis on the amount of prior contact between students and teachers
explained most of the variability in the magnitudes of the effect sizes, at least in the high-contact group.
When interpreting results from subgroup analysis, we should be mindful that the results are based on
fewer studies and thus may not be as precise, in general.
See [META] meta summarize and [META] meta forestplot.
meta — Introduction to meta 37
Cumulative meta-analysis
Sorted by:
As in example 1, first we prepare our data for use with meta commands. Our dataset contains the sum-
mary data that represent the study-specific 2 × 2 tables. The variables ndeadt, nsurvt, ndeadc, and
nsurvc record the numbers of deaths and survivors in the treatment and control groups.
Lau et al. (1992) considered an odds ratio as the effect size of interest for these data. For odds ratios,
meta-analysis is performed in the log metric. We can use meta esize to compute study-specific log
odds-ratios and their corresponding standard errors and declare them for the subsequent meta-analysis.
To compute log odds-ratios, we specify the four variables containing table cell counts with meta esize.
As with meta set in example 1, we specify the study labels in the studylabel() option with meta
esize.
meta — Introduction to meta 38
meta esize reports that there are 33 trials and that the computed effect size is log odds-ratio. This is the
default effect size with a two-group comparison of binary outcomes. You can specify other effect sizes in
the esize() option, which include a log risk-ratio, risk difference, and log Peto’s odds-ratio. (After the
declaration, you can use meta update to change the effect size more easily without having to respecify
your summary data variables; see [META] meta update.)
Lau et al. (1992) used a common-effect model with the Mantel–Haenszel method to perform their
cumulative meta-analysis. We will follow their approach. Thus, we also specified the common option with
meta esize. The command reported that the assumed meta-analysis model is a common-effect model.
The Mantel–Haenszel estimation method is the default method for log odds-ratios under a common-effect
model.
Odds ratio
Study with 95% CI p-value year
1/2 1
The cumulative meta-analysis forest plot displays the overall effect-size estimates and the corresponding
CIs computed for the first study, for the first two studies, for the first three studies, and so on. The point
estimates are represented by green circles, and the CIs are represented by the CI lines. The change in
style and color of the plotted markers emphasizes that the (cumulative) overall effect sizes and not the
study-specific effect sizes are being plotted.
The “+” sign in front of the study label we used for this analysis (variable studyplus) indicates that
each subsequent study is being added to the previous ones for each analysis. In addition to the ordered
values of the specified variable of interest (year in our example), the plot also displays the 𝑝-values
corresponding to the tests of significance of the computed overall effect sizes.
For example, the cumulative odds ratio in the fourth row marked as +European 2 is 0.70 with a 95%
CI of [0.52, 0.95] and a 𝑝-value of 0.023. So, based on the first four trials, the overall odds of death is
roughly 30% less in the treatment group (treated with streptokinase) compared with the placebo group.
Notice that the first two odds-ratio estimates (and their lower CI limits) are smaller than 0.5. Because
we used the crop(0.5 .) option, their values are not displayed on the graph. Instead, the arrowheads
are displayed at the lower ends of the CI lines to indicate that the lower limits and the effect-size estimates
are smaller than 0.5.
Borenstein, Hedges, Higgins, and Rothstein (2009) states that with the inclusion of additional trials
in the cumulative meta-analysis, the overall effect sizes become more uniform because the chance of any
new trial reporting a drastically different overall effect size is low. Also, the CIs become more narrow
because the precision increases as more data become available.
If we look back at the plot, we will notice that starting from 1977, the overall effect size becomes (and
stays) highly significant over the next decade of additional trials. Lau et al. (1992) and Borenstein et al.
(2009, chap. 42) noted that if cumulative meta-analysis was used at that time to monitor the accumulated
evidence from the trials, perhaps, the benefits from streptokinase could have been adopted in practice as
early as 1977.
We can also obtain the same results as above but in a table by using meta summarize.
meta — Introduction to meta 41
The Galbraith plot (Galbraith 1988) is mainly used to assess heterogeneity of the studies and detect
potential outliers. It may also be an alternative to forest plots for summarizing meta-analysis results,
especially when there are many studies. See [META] meta galbraithplot.
Meta-regression performs a weighted linear regression of effect sizes on moderators; see [META] meta
regress. With one moderator, the relationship between the effect sizes and the moderator may be further
explored via a bubble plot after meta-regression; see [META] estat bubbleplot.
meta — Introduction to meta 42
In this section, we will demonstrate how to use Galbraith plots, meta-regression, and bubble plots to
assess heterogeneity and examine relationships between effects sizes and moderators.
As in example 5, this dataset also records summary data for a two-group comparison of binary outcomes,
so we will again use meta esize to compute our effect sizes.
In this example, our effect size of interest is a risk ratio. Just like with odds ratios, the meta-analysis
of risk ratios is performed in the log metric, so we will be computing log risk-ratios.
. meta esize npost nnegt nposc nnegc, esize(lnrratio) studylabel(studylbl)
Meta-analysis setting information
Study information
No. of studies: 13
Study label: studylbl
Study size: _meta_studysize
Summary data: npost nnegt nposc nnegc
Effect size
Type: lnrratio
Label: Log risk-ratio
Variable: _meta_es
Zero-cells adj.: None; no zero cells
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Our specification of meta esize is similar to that from example 5, except here we specify the
esize(lnrratio) option to compute log risk-ratios instead of the default log odds-ratios.
meta — Introduction to meta 43
The output indicates that there are 𝐾 = 13 studies in the meta-analysis and the default random-effects
meta-analysis model (with the REML estimation method) will be used.
Let’s investigate the presence of heterogeneity in these data. For the purpose of illustration, we will
do this using a Galbraith plot; see [META] meta galbraithplot.
Galbraith plot
5
Standardized log risk-ratio (θj/sej)
0
95% CI
Studies
Regression line
No effect
-5
-10
0 5 10 15 20
Precision (1/sej)
sej: estimated σj
The blue circles form a scatterplot of the study-specific standardized log risk-ratios against study
precisions. Studies that are close to the 𝑦 axis have low precision. Precision of studies increases as you
move toward the right on the 𝑥 axis.
The reference black line (𝑦 = 0) represents the “no-effect” line. If a circle is above the reference line,
the risk in the treatment group is higher than the risk in the control group for that study. Conversely, if a
circle is below the line, the risk in the treatment group is lower than the risk in the control group.
The red line is the regression line through the origin. The slope of this line equals the estimate of the
overall effect size. In the absence of substantial heterogeneity, we expect around 95% of the studies to
lie within the 95% CI region (shaded area). In our example, there are 6 (out of 13) trials that are outside
the CI region. We should suspect the presence of heterogeneity in these data, and we will investigate the
reasons behind it in example 9. For more interpretation of the above Galbraith plot, see [META] meta
galbraithplot.
We have established that there is heterogeneity among the studies. Let’s explore this further using
meta-regression.
meta — Introduction to meta 44
Example 9: Meta-regression
As we discussed in Subgroup meta-analysis, when effect sizes vary greatly between different sub-
groups, one can perform separate meta-analysis on each subgroup to account for the between-study het-
erogeneity. But what if there is an association between the effect sizes and other study-level covariates
or moderators that may be continuous? Meta-regression addresses this problem. Its goal is to investi-
gate whether the differences between the effect sizes can be explained by one or more moderators. See
Introduction of [META] meta regress.
The efficacy of the BCG vaccine against TB may depend on many factors such as the presence of
environmental mycobacteria that provides some immunity to TB. Berkey et al. (1995) suggested that the
distance of a study from the equator (the absolute latitude) may be used as a proxy for the presence of
environmental mycobacteria and perhaps explain the lower efficacy of the BCG vaccine against TB in
some studies. Borenstein et al. (2009) also commented that, in hotter climates, the vaccine may lose
potency and certain bacteria necessary for the vaccine to work well are less likely to survive with more
exposure to sunlight.
Following Berkey et al. (1995), we will explore these observations by using meta regress with the
centered latitude as the moderator.
First, we generate a new variable, latitude c, that is the mean-centered version of latitude. The
mean value of latitude, 33.46, can be thought of as the latitude of the city of Atlanta in the United
States or the city of Beirut in Lebanon.
. summarize latitude, meanonly
. generate double latitude_c = latitude - r(mean)
. label variable latitude_c ”Mean-centered latitude”
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
The regression coefficient for latitude c is −0.0291, which means that every one degree of latitude
corresponds to a decrease of 0.0291 units in the log risk-ratio. In other words, the vaccine appears to
work better in colder climates.
meta — Introduction to meta 45
The proportion of between-study variance explained by the covariates can be assessed via the 𝑅2
statistic. Here roughly 76% of the between-study variance is explained by the covariate latitude c.
From the value of 𝐼 2 in the output, roughly 68% of the residual variation is due to heterogeneity, which
may potentially be explained by other covariates, with the other 32% due to the within-study sampling
variability.
The test statistic for residual homogeneity, 𝑄res , is 30.73 with a 𝑝-value of 0.0012, so the null hypoth-
esis of no residual heterogeneity is rejected, which is consistent with the reported residual heterogeneity
summaries.
See [META] meta regress for more examples.
Bubble plot
.5
0
Log risk-ratio
-.5
95% CI
Studies
Linear prediction
-1
-1.5
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
The bubble plot is a scatterplot of effect sizes and covariate values. Each study is represented by a circle
with the size of the circle proportional to the effect-size precision, 1/𝜎̂𝑗2 . The fitted line (predicted log
risk-ratios) is also plotted on the graph.
The log risk-ratio for the BCG vaccine decreases as the distance from the equator increases. The plot
also reveals a few outlying studies that require more thorough investigation. We continue exploring this
model in [META] meta regress postestimation.
See [META] estat bubbleplot.
meta — Introduction to meta 46
A funnel plot (Light and Pillemer 1984) plots study-specific effect sizes against measures of study pre-
cision such as standard errors. This plot is commonly used to explore publication bias or, more precisely,
small-study effects. Small-study effects (Sterne, Gavaghan, and Egger 2000) arise when smaller studies
tend to report different results such as larger effect-size estimates than larger studies. In the absence of
small-study effects, the shape of the plot should resemble a symmetric inverted funnel.
Publication bias arises when smaller studies with nonsignificant findings are being suppressed from
publication. It is one of the more common reasons for the presence of small-study effects, which leads
to the asymmetry of the funnel plot. Another common reason for the asymmetry in the funnel plot is the
presence of between-study heterogeneity.
See Introduction in [META] meta funnelplot for details.
Sorted by:
As before, our first step is to declare our data. [Link] records summary data for a two-group
comparison of binary outcomes, so we will again use meta esize to compute our effect sizes as in
example 5 and example 7.
meta — Introduction to meta 47
Our effect size of interest is an odds ratio, so we can use the default specification of meta esize.
. meta esize nstreat-nfcontrol
Meta-analysis setting information
Study information
No. of studies: 37
Study label: Generic
Study size: _meta_studysize
Summary data: nstreat nftreat nscontrol nfcontrol
Effect size
Type: lnoratio
Label: Log odds-ratio
Variable: _meta_es
Zero-cells adj.: 0.5, only0
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
In the above, instead of listing all four variables with meta esize as we did in previous examples, we
use one of the varlist shortcuts (see [U] 11.4 varname and varlists) to include all variables between
nstreat and nfcontrol. We could do this because our variables appear in the dataset in the same
order they need to be listed with meta esize: numbers of successes and failures in the treatment group
followed by those in the control group.
There are 𝐾 = 37 trials in this dataset. We will continue using the default random-effects meta-
analysis model with the REML estimation method.
We use meta funnelplot to produce a funnel plot for the NSAIDS data.
. meta funnelplot
Effect-size label: Log odds-ratio
Effect size: _meta_es
Std. err.: _meta_se
Model: Common effect
Method: Inverse-variance
Funnel plot
0
.5
Standard error
Pseudo 95% CI
Studies
Estimated θIV
1
1.5
-2 0 2 4 6
Log odds-ratio
meta — Introduction to meta 48
On a funnel plot, the more precise trials (with smaller standard errors) are displayed at the top of the fun-
nel, and the less precise ones (with larger standard errors) are displayed at the bottom. The red reference
line is plotted at the estimate of the overall effect size, the overall log odds-ratio in our example. In the
absence of small-study effects, we would expect the points to be scattered around the reference line with
the effect sizes from smaller studies varying more around the line than those from larger studies, forming
the shape of an inverted funnel.
In our plot, there is an empty space in the bottom-left corner. This suggests that the smaller trials with
log odds-ratio estimates close to zero may be missing from the meta-analysis.
See [META] meta funnelplot for more examples.
.5
Standard error
1% < p < 5%
5% < p < 10%
p > 10%
Studies
1 Estimated θIV
1.5
-4 -2 0 2 4
Log odds-ratio
From this plot, we can see that the reported effects of almost all smaller trials (those at the bottom of the
funnel) are statistically significant at a 5% level and less. On the other hand, a fair number of the larger
trials (at the top of the funnel) reported nonsignificant results. For the funnel plot to look symmetric with
respect to the reference line, we should have observed some trials in the middle and the bottom of the
darkest region (with 𝑝-values larger than 10%). This suggests that we are missing some of the smaller
trials with nonsignificant results, which would be consistent with the presence of publication bias.
meta — Introduction to meta 49
There is also a chance that the funnel-plot asymmetry is induced by the between-study heterogene-
ity. Using a random-effects model and investigating the study-level covariates that may account for the
heterogeneity should also be considered when exploring the funnel-plot asymmetry.
Also see example 5 of [META] meta funnelplot for more details about this example.
We can test for the presence of small-study effects or, technically, the asymmetry in the funnel plot
more formally by using, for example, one of the regression-based tests. The main idea behind these tests
is to determine whether there is a statistically significant association between the effect sizes and their
measures of precision such as effect-size standard errors.
See Introduction in [META] meta bias for details.
The test uses a type of weighted regression that explores the relationship between the effect sizes and
their precision. The slope in that regression, labeled as beta1 in the output, describes the asymmetry of
the funnel plot and represents the magnitude of the small-study effects. The further it is from zero, the
more asymmetry is present in the funnel plot.
meta bias reports the 𝑧-test statistic of 4.09 with a 𝑝-value less than 0.0000 for the test of
H0: beta1=0 assuming a random-effects model with the REML estimation method. We have statisti-
cally significant evidence to reject the null hypothesis of the funnel-plot symmetry.
See [META] meta bias.
meta — Introduction to meta 50
When the presence of publication bias is suspected, it is important to explore its impact on the final
meta-analysis results. The trim-and-fill method of Duval and Tweedie (2000a, 2000b) provides a way to
evaluate the impact of publication bias on the results. The idea of the method is to estimate the number
of studies potentially missing because of publication bias, impute these studies, and use the observed
and imputed studies to obtain the overall estimate of the effect size. This estimate can then be compared
with the estimate obtained using only the observed studies. For details, see Introduction in [META] meta
trimfill.
.5 1% < p < 5%
Standard error
1.5
-4 -2 0 2 4
Log odds-ratio
meta trimfill reports that 10 hypothetical studies are estimated to be missing. When 10 studies are
imputed and added to the meta-analysis, the overall odds ratio reduces from 3.752 (based on 37 observed
studies) to 2.815 (based on 47 observed and imputed studies). This suggests that the treatment benefit as
reported in the literature may be larger than it would be in the absence of publication bias.
From the funnel plot, almost all the imputed studies fall in the darkest-gray region corresponding to a
𝑝-value of more than 10%. This further supports the conclusion that the small-study effect is most likely
because of publication bias.
See [META] meta trimfill.
Multivariate meta-regression
y1
pubyear .0048615 .0218511 0.22 0.824 -.0379658 .0476888
_cons .3587569 .07345 4.88 0.000 .2147975 .5027163
y2
pubyear -.0115367 .0299635 -0.39 0.700 -.070264 .0471907
_cons -.3357368 .0979979 -3.43 0.001 -.5278091 -.1436645
Unstructured:
sd(y1) .1429917
sd(y2) .2021314
corr(y1,y2) .561385
The output shows information about the optimization algorithm, the iteration log, and the model (random-
effects) and method (REML) used for estimation. It also displays the number of studies, 𝐾 = 5, and the
total number of observations on the outcomes, 𝑁 = 10, which is equal to 𝐾𝑑 because no observations
are missing. The minimum, maximum, and average numbers of observations per study are also reported.
Because there were no missing observations, all of these numbers are identical and are equal to 2. The
Wald statistic, 𝜒2 = 0.4, tests the joint hypothesis that the coefficients of pubyear for outcomes y1 and
y2 are equal to 0.
The first table displays the fixed-effects coefficients for each dependent (outcome) variable. The
coefficients of pubyear for outcomes y1 and y2 are not significant (𝑝 = 0.824 and 𝑝 = 0.7, respectively),
so it does not appear that pubyear explains much of the between-study heterogeneity of effect sizes y1
and y2. In fact, the multivariate Cochran’s homogeneity test strongly suggests the presence of a between-
study heterogeneity even after accounting for pubyear: 𝑄M = 125.76 with a 𝑝 < 0.0001.
The second table displays the random-effects parameters, which are used to compute an estimate of
the between-study covariance matrix 𝚺. For details, see [META] meta mvregress.
After you fit your model, you can use estat heterogeneity to assess the residual heterogeneity in
your model. To conduct other postestimation analysis, see [META] meta mvregress postestimation.
meta — Introduction to meta 53
Multilevel meta-regression
Multilevel meta-regression is a statistical technique used to study the relationship between potentially
dependent effect sizes and covariates. The dependence among the effect sizes stems from a hierarchical
or multilevel structure that is assumed present in the data. The standard random-effects meta-analysis can
be viewed as a two-level meta-analysis model with studies as level-2 groups and subjects within studies
as level-1 observations. When the term “multilevel meta-analysis” is used in the literature, it typically
refers to models that incorporate more than two levels of hierarchy.
Variables z and var store Fisher’s 𝑧-transformed correlation values and their variances. This transformed
metric is typically used for estimation when pooling correlations; see example 10 of [META] meta sum-
marize for details about Fisher’s 𝑧-transformed correlations and their asymptotic standard-errors com-
putation.
Because multiple effect sizes are nested within each study, we fit the three-level random-intercepts
model
(3) (2)
z𝑗𝑘 = 𝛽1 𝐼(taxon𝑗 = mammals) + 𝛽2 𝐼(taxon𝑗 = plants) + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘 , 𝑗 = 1, . . . , 42
(3) (2)
where 𝑢𝑗 ∼ 𝑁 (0, 𝜏32 ), 𝑢𝑗𝑘 ∼ 𝑁 (0, 𝜏22 ), and 𝜖𝑗𝑘 ∼ 𝑁 (0, var𝑗𝑘 ). 𝐼(taxon𝑗 = mammals) and
𝐼(taxon𝑗 = plants) are indicator variables for the mammals and plants taxonomic groups, respec-
tively. You can think of the above model as a form of multilevel subgroup analysis.
We will perform a multilevel meta-regression using the meta meregress command. Unlike other
meta commands that are designed for standard meta-analysis, the meta meregress command does not
require your dataset to be declared as meta data.
meta — Introduction to meta 54
studylbl 42 1 3.8 22
id 158 1 1.0 1
taxon
Mammals .6622741 .1066936 6.21 0.000 .4531586 .8713897
Plants 1.031014 .1077358 9.57 0.000 .8198556 1.242172
studylbl: Identity
sd(_cons) .2427429
id: Identity
sd(_cons) .7406531
In the syntax, we wrote z [Link], noconstant to specify the response (z) and the fixed-effects
part of the model. The esvarvariable(var) option specifies the variable (var in our case) that stores
the effect-size variances (sampling variances). The || studylbl: || id: portion of the syntax adds to
(3) (2)
the model the random intercepts (the 𝑢𝑗 ’s and 𝑢𝑗𝑘 ’s) at the respective studylbl and id levels. The
order in which the levels are specified (from left to right) is important— meta meregress assumes that id
is nested within studylbl. Because the above model is a random-intercepts three-level meta-regression
(that is, a model without random slopes), it could have also been fit by using the meta multilevel
command ([META] meta multilevel), which provides a simpler syntax for models with only random
intercepts:
. meta multilevel z [Link], noconstant relevels(studylbl id) esvarvariable(var)
meta — Introduction to meta 55
The output shows information about the optimization algorithm, the iteration log, and the estimation
method (REML). It also displays the total number of effect sizes, 𝑛 = 158. The minimum, maximum,
and average numbers of observations per group at each hierarchical level are also reported. The Wald
statistic, 𝜒2 = 130.11, tests the joint hypothesis that Fisher’s 𝑧-values for mammals and plants are equal
to 0.
The second table displays the fixed-effects coefficients. Both overall effect sizes for mammals and
plants are different from 0. The interpretation of the results, however, is easier in the natural correlation-
coefficient metric, which we can compute using the inverse transformation:
exp(2z) − 1
rho = = tanh(z)
exp(2z) + 1
For example, you may obtain the value of the correlation coefficient corresponding to mammals and its
confidence interval as follows:
. display tanh(e(b)[1,1])
.57987485
. display ”[” tanh(r(table)[”ll”,1]) ”, ” tanh(r(table)[”ul”,1]) ”]”
[.42449189, .70207952]
The multilevel Cochran’s homogeneity test strongly suggests the presence of heterogeneity among
the effect sizes even after partitioning the data by taxonomic groups (𝑝 < 0.0001).
The third table displays the random-effects parameters, which are estimates of the level-3 and level-2
random-effects standard deviations, 𝜏3 and 𝜏2 , respectively. For details, see [META] meta meregress.
After you fit your model, you can use estat heterogeneity to assess the multilevel heterogeneity
in your model. To conduct other postestimation analysis, see [META] meta me postestimation.
Acknowledgments
Previous and still ongoing work on meta-analysis in Stata influenced the design of meta. We gratefully
acknowledge the contributions of the Stata developers who wrote the community-contributed commands.
We thank Jonathan Sterne of the University of Bristol, Roger Harbord of the Met Office, Ross Harris of
Public Health England, Thomas Steichen (retired) of RJRT, Mike Bradburn of the University of Sheffield,
Jon Deeks of the University of Birmingham, and Doug Altman (1948–2018) of the University of Oxford,
for metan; Evangelos Kontopantelis and David Reeves, both of the University of Manchester, for metaan
and ipdforest; Roger Harbord, Julian Higgins of the University of Bristol, and Stephen Sharp of the
MRC Epidemiology Unit, University of Cambridge, for metareg; Jonathan Sterne and Ross Harris for
metacum; Jonathan Sterne and Roger Harbord for metafunnel; Tom Palmer of the University of Bristol,
Alex Sutton of the University of Leicester, Santiago Moreno of HEOR Global, and Jaime Peters of the
University of Exeter for confunnel; Roger Harbord, Ross Harris, and Jonathan Sterne for metabias;
Thomas Steichen for metatrim; Roger Harbord and Penny Whiting of the University of Bristol for
metandi; Ian White of the MRC Clinical Trials Unit at UCL for mvmeta and network; and David Fisher
of the MRC Clinical Trials Unit at UCL for ipdmetan and admetan, and many more.
We also thank the editors, Tom Palmer and Jonathan Sterne, of the Stata Press book Meta-Analysis in
Stata: An Updated Collection from the Stata Journal and the authors of the articles therein for providing
valuable information about meta-analysis, in addition to developing the meta-analysis software.
meta — Introduction to meta 56
References
Antczak-Bouckoms, A., K. Joshipura, E. Burdick, and J. F. Camilla Tulloch. 1993. Meta-analysis of surgical versus
non-surgical methods of treatment for periodontal disease. Journal of Clinical Periodontology 20: 259–268. https:
//[Link]/10.1111/j.1600-051X.1993.tb00355.x.
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
———. 1998. Meta-analysis of multiple outcomes by regression with random effects. Statistics in Medicine 17:
2537–2550. [Link]
Borenstein, M., L. V. Hedges, J. P. T. Higgins, and H. R. Rothstein. 2009. Introduction to Meta-Analysis. Chichester, UK:
Wiley.
Colditz, G. A., T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg, and F. Mosteller. 1994. Efficacy
of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American
Medical Association 271: 698–702. [Link]
Duval, S., and R. L. Tweedie. 2000a. Trim and fill: A simple funnel-plot–based method of testing and adjusting for
publication bias in meta-analysis. Biometrics 56: 455–463. [Link]
———. 2000b. A nonparametric “trim and fill” method of accounting for publication bias in meta-analysis. Journal of
the American Statistical Association 95: 89–98. [Link]
Galbraith, R. F. 1988. A note on graphical representation of estimated odds ratios from several clinical trials. Statistics in
Medicine 7: 889–894. [Link]
Harbord, R. M., M. Egger, and J. A. C. Sterne. 2006. A modified test for small-study effects in meta-analyses of controlled
trials with binary endpoints. Statistics in Medicine 25: 3443–3457. [Link]
Lau, J., E. M. Antman, J. Jimenez-Silva, B. Kupelnick, F. Mosteller, and T. C. Chalmers. 1992. Cumulative meta-analysis
of therapeutic trials for myocardial infarction. New England Journal of Medicine 327: 248–254. [Link]
NEJM199207233270406.
Light, R. J., and D. B. Pillemer. 1984. Summing Up: The Science of Reviewing Research. Cambridge, MA: Harvard
University Press. [Link]
Møller, A. P., and T. A. Mousseau. 2015. Strong effects of ionizing radiation from Chernobyl on mutation rates. Scientific
Reports 5: 8363. [Link]
Moore, R. A., M. R. Tramèr, D. Carroll, P. J. Wiffen, and H. J. McQuay. 1998. Quantitative systematic review of topically
applied non-steroidal anti-inflammatory drugs. BMJ 316: 333–338. [Link]
Raudenbush, S. W. 1984. Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of ex-
pectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology 76: 85–97.
[Link]
Rice, K., J. P. T. Higgins, and T. S. Lumley. 2018. A re-evaluation of fixed effect(s) meta-analysis. Journal of the Royal
Statistical Society, A ser., 181: 205–227. [Link]
Rosenthal, R., and L. Jacobson. 1968. Pygmalion in the classroom. Urban Review 3: 16–20. [Link]
BF02322211.
Sterne, J. A. C., D. Gavaghan, and M. Egger. 2000. Publication and related bias in meta-analysis: Power of statistical
tests and prevalence in the literature. Journal of Clinical Epidemiology 53: 1119–1129. [Link]
4356(00)00242-0.
Also see
[META] Intro — Introduction to meta-analysis
[META] Glossary
meta data — Declare meta-analysis data
Description
This entry describes how to prepare your data for meta-analysis using the meta commands.
In a nutshell, do the following:
1. If you have access to summary data, use meta esize to compute and declare effect sizes such
as an odds ratio or a Hedges’s 𝑔.
2. Alternatively, if you have only precomputed (generic) effect sizes, use meta set.
3. To update some of your meta-analysis settings after the declaration, use meta update.
4. To check whether your data are already meta set or to see the current meta settings, use meta
query.
5. If you want to perform multivariate meta-regression using meta mvregress, you do not need
to meta set your data.
Overview
The declaration of your data to be meta data is the first step of your meta-analysis in Stata. meta
data are your original data that also store key variables and characteristics about your specifications,
which will be used by all meta commands during your meta-analysis session. The declaration step helps
minimize mistakes and saves you time—you only need to specify the necessary information once.
You can use meta set or meta esize to declare your data to be meta data. If you have access only
to precomputed effect sizes and their standard errors, use meta set. If you have access to summary
data such as means and standard deviations from individual studies, use meta esize to compute the
57
meta data — Declare meta-analysis data 58
effect sizes and their standard errors and declare them. The latter is preferable because it provides access
to more features such as the Mantel–Haenszel estimation method for a two-group comparison of binary
outcomes, which needs access to the actual 2×2 tables and not only the effect sizes for the computations.
For example, suppose that you have variables es and se, which contain the effect sizes and the cor-
responding standard errors. You can use
. meta set es se
to declare your data, and all subsequent meta commands will automatically use these variables in the
meta-analysis.
To review the current meta settings or to check whether the data are meta set, you can use meta
query; see [META] meta update. After your data are declared, you can update some of the meta-analysis
specifications by using meta update. If you wish to clear the meta settings after your meta-analysis, you
can use meta clear; see [META] meta update.
As we mentioned above, you must declare study-specific effect sizes and their precision. This is done
differently for meta set and meta esize.
meta esize computes effect sizes and their standard errors from summary data and then declares
them. meta set declares already precomputed effect sizes and their standard errors. Thus, to use meta
set, you do not need summary data from each study, but you need them for meta esize. Some analysis
may not be available after meta set such as the Mantel–Haenszel estimation method and Harbord’s test
for the funnel-plot asymmetry because they require access to summary data.
Effect sizes and their precision using meta set. To use meta set, you must specify variables con-
taining study-specific effect sizes and their precision. There are two ways to specify the precision of the
effect sizes. You can either specify a variable containing the standard errors,
. meta set es se
Or, instead of the standard errors, specify the confidence intervals, and meta set will compute the cor-
responding standard errors based on them:
. meta set es cil ciu
In the above, the specified CI variables will be assumed to correspond to the 95% CIs. You can change
this by specifying the civarlevel() option:
. meta set es cil ciu, civarlevel(90)
But do not confuse civarlevel() with level(). The former affects the confidence level only for the
specified CI variables. The latter specifies the confidence level for the meta-analysis.
meta data — Declare meta-analysis data 59
Effect sizes and their precision using meta esize. To use meta esize, you must specify summary
data for each study. The type of summary data you specify depends on the effect size you wish to compute
and consequently on the outcome of interest and type of analysis in the original studies.
meta esize computes and declares various effect sizes for two-group comparisons of continuous
and binary outcomes, for estimating a single proportion or prevalence, and for estimating a correlation
between two variables of interest. For a two-group comparison of continuous outcomes, you must specify
the number of observations, means, and standard deviations for each treatment group (group 1) and
control group (group 2).
. meta esize n1 m1 sd1 n2 m2 sd2
To compute effect sizes and their standard errors, meta esize also needs to know the type of the
effect size. The above assumes Hedges’s 𝑔 standardized mean difference, but you can specify others in
the esize() option; see effect sizes for a two-group comparison of continuous outcomes in the estypecnt
table in Syntax of [META] meta esize.
For a two-group comparison of binary outcomes, you must specify 2 × 2 contingency tables for each
study. You specify them as follows. Each of the four cells is represented by a variable such that each row
represents a 2 × 2 table from a specific study. For instance,
. meta esize n11 n12 n21 n22
The order in which you specify the four variables is important: the top-left cell first, the top-right cell
next, followed by the bottom-left cell, and finally the bottom-right cell. The above computes the log
odds-ratio as an effect size, but you can select a different effect size; see effect sizes for a two-group
comparison of binary outcomes in the estypebin table in Syntax of [META] meta esize.
meta esize can compute effect sizes for estimating a single proportion. You must specify the number
of successes (events) and the study sample size.
. meta esize ns n
The above computes the Freeman–Tukey-transformed proportions, but you can specify other effect sizes
in the esize() option; see effect sizes for a single proportion in the estypeprop table in Syntax of
[META] meta esize.
meta esize can compute effect sizes for estimating a correlation between two variables of interest.
You must specify the sample correlation coefficients and the study sample size. You must also specify
either the fisherz option or the correlation option,
. meta esize rho n, fisherz
The above computes the Fisher’s 𝑧-transformed correlations, but you can request untransformed (raw)
correlations by specifying the correlation option; see effect sizes for estimating a correlation in the
estypecorr table in Syntax of [META] meta esize.
Options affecting effect-size and precision computations with meta esize. Depending on the cho-
sen effect size, meta esize provides alternative ways of computing effect sizes and their standard errors.
For the Hedges’s 𝑔 effect size, there are two ways to compute the bias-correction factor used in its
formula. For consistency with meta-analysis literature, meta esize uses an approximation, but you can
specify the exact option within esize() to use the exact computation:
. meta esize n1 m1 sd1 n2 m2 sd2, esize(hedgesg, exact)
Both Hedges’s 𝑔 and Cohen’s 𝑑 effect sizes support standard error adjustment of Hedges and Olkin
(1985) with esize()’s option holkinse:
. meta esize n1 m1 sd1 n2 m2 sd2, esize(cohend, holkinse)
For the (unstandardized) mean difference, you can choose to compute standard errors assuming un-
equal variance between the two groups:
. meta esize n1 m1 sd1 n2 m2 sd2, esize(mdiff, unequal)
For two-sample binary data with log odds-ratios or log risk-ratios as effect sizes, meta esize auto-
matically adjusts for zero cells when computing effect sizes. By default, it adds 0.5 to all cells of the 2×2
tables that contain at least one zero cell. You can specify other adjustments in the zerocells(zcspec)
option. For example, with log odds-ratios, you can specify the treatment-arm continuity correction of
Sweeting, Sutton, and Lambert (2004) as zerocells(tacc), or you can request no zero-cell adjustment:
. meta esize n11 n12 n21 n22, zerocells(none)
Similarly, for one-sample binary data with the logit-transformed proportions or raw proportions as
effect sizes, meta esize also adjusts for zero cells when computing effect sizes. By default, it adds 0.5
to the number of successes and to the number of failures for studies containing zero successes or zero
failures. Other adjustments are also possible via the zerocells(zcspec) option.
See Options in [META] meta esize.
Before you proceed with performing meta-analysis, we want you to think about the model underlying
your meta-analysis. This decision is important because the selected meta-analysis model will determine
the availability of some of the meta-analysis methods and, more importantly, how you interpret the ob-
tained results; see Comparison between the models and interpretation of the results in [META] Intro.
Also, most likely, you will want to use the chosen model during your entire meta-analysis session. Thus,
we made the choices for the meta-analysis model and, consequently, the meta-analysis estimation method
be part of the initial declaration step. But fear not! If desired, you can easily switch to a different meta-
analysis model or method for the rest of your meta-analysis session or reset it temporarily for a particular
analysis; see Modifying default meta settings.
We discuss the available models and the differences between them in detail in Meta-analysis models
in [META] Intro.
Briefly, there are three models to choose from: a common-effect, fixed-effects, or random-effects
model. They can be requested by specifying options common, fixed, or random. If you omit all of these
options, the random-effects model will be assumed.
A common-effect model makes a strong assumption about the underlying true effect size being the
same across (common to) all studies. When this assumption is true, this model is a reasonable choice.
Most likely, you will want to verify the plausibility of this assumption for your data. So a model that
allows the study effect sizes to be different may be a better choice during the initial analysis.
A fixed-effects model allows the effect sizes to be different across studies and assumes that they are
fixed. You may ask: What does “fixed” mean? Different disciplines may have different definitions of a
fixed effect. In the context of meta-analysis, you can think of fixed effects as effects of particular interest.
In other words, your research questions and final inference are focused only on the specific studies that
were selected in the meta-analysis.
meta data — Declare meta-analysis data 61
Conversely, a random-effects model assumes that the study effect sizes are random, meaning that
they represent a random sample from a larger population of similar studies. The results obtained from
a random-effects model can be extended to the entire population of similar studies and not just the ones
that were selected in the meta-analysis. The meta-analysis literature recommends to start with a random-
effects model, which is also Stata’s default for most meta commands.
So, which model should you choose? Our recommendation is to start with a random-effects model
and explore the heterogeneity, publication bias, and other aspects of your meta-analysis data. If you are
interested only in the inference about the particular studies in your data, a fixed-effects model may be a
reasonable alternative. We suggest that you avoid using, or at least starting with, a common-effect model
unless you verified that the underlying assumption of the common study effects is plausible for your data.
As we described in Comparison between the models and interpretation of their results in [META] Intro,
a fixed-effects model and a common-effect model produce the same results in a meta-analysis. Although
the final estimates are the same, their interpretation is different! In a common-effect model, the estimate
of the overall effect size is an estimate of the true common effect size, whereas in a fixed-effects model,
it is an estimate of the average of true, different study-specific effect sizes. Thus, the meta suite provides
the two options common and fixed to emphasize the conceptual differences between the two models.
Additionally, when you assume a common-effect model, you essentially imply that certain issues such
as study heterogeneity are of no concern in your data. Therefore, when you specify the common option,
certain commands such as meta regression will not be available. This is again our way of reminding
you of the underlying assumption of a common-effect model. For other meta commands, specifying
common versus fixed will merely change the reported title from, say, “Common-effect meta-analysis”
to “Fixed-effects meta-analysis”. Nevertheless, the title change is important because it encourages proper
interpretation of the results.
Depending on a chosen meta-analysis model and effect size, there are a number of methods available
to estimate the overall effect size. For a common-effect model and a fixed-effects model, the inverse-
variance method, common(invvariance) and fixed(invvariance), is used with generic effect sizes,
which are declared by meta set, and with effect sizes for two-sample continuous data and for one-
sample binary data, which are declared by meta esize. With effect sizes for two-sample binary data
(except Peto’s log odds-ratio), which are also declared by meta esize, the Mantel–Haenszel method,
common(mhaenszel) or fixed(mhaenszel), is also available.
For a random-effects model, there are several different methods to estimate the between-study vari-
ance, which contributes to the weights used to estimate the overall effect size. The default method
is REML, random(reml), but other methods such as ML, random(ml), and DerSimonian–Laird,
random(dlaird), are also available. See Syntax in [META] meta set for a full list.
When you specify random, the REML method is assumed. When you specify common or fixed, the
inverse-variance method is assumed for all effect sizes except log odds-ratios, log risk-ratios, and risk
differences, as specified with meta esize. For these effect sizes, the Mantel–Haenszel method is the
default method.
See Meta-analysis estimation methods in [META] Intro for detailed descriptions of the methods.
meta data — Declare meta-analysis data 62
During declaration, meta set and meta esize assume a random-effects model unless you specify
one of options fixed or common. It also assumes the REML estimation method unless you specify some
other method in option random(); see Declaring a meta-analysis estimation method.
The declared model will be used by all meta commands except meta funnelplot, meta
galbraithplot, and meta labbeplot, which, for historical reasons, assume a common-effect model
with the inverse-variance estimation method. But you can change the assumed model and method by
specifying the corresponding options such as random(dlaird) with a meta command.
Also see Modifying default meta settings for details.
By default, meta set and meta esize assume the 95% confidence level (or as set by set level) for
the entire meta-analysis. You can change this by specifying the level() option with these commands.
You can also modify the confidence level after the declaration as we describe in Modifying default meta
settings.
meta set and meta esize also provide options to control the output of meta commands.
The studylabel(varname) option specifies a string variable that will be used by meta commands
such as meta summarize and meta forestplot to label the studies in the output. By default, the generic
labels— Study 1, Study 2, and so on—will be used.
The eslabel(string) option specifies a string that will be used by meta commands such as meta
summarize and meta forestplot to label effect sizes in the output. The default label with meta set
is Effect size. The default label with meta esize is specific to the chosen effect size. For instance, it
is Log Odds-Ratio for log odds-ratios.
By default, all meta commands display a short summary about the declared meta settings such as the
variables containing effect sizes and their standard errors. After the declaration, the meta commands
do not require you to specify the effect-size variables and standard error variables again. They simply
use the corresponding system variables (see System variables) created during declaration. The reported
summary reminds you that those variables are part of your meta-analysis. You can suppress this summary
from all meta commands by specifying the nometashow option with meta set or meta esize. You can
also suppress this summary for a particular meta command by specifying the option with that command;
see Modifying default meta settings.
You can modify the default meta settings both during and after the declaration. Some of the settings
may even be modified (temporarily) for a particular meta command.
You can modify the default settings during the declaration by simply specifying the corresponding
options with meta set or meta esize. For example, when we type
. meta set ...
a random-effects model with the REML estimation method is assumed. We can specify another estimation
method, for example, ML, by using random(ml):
meta data — Declare meta-analysis data 63
After the declaration, you can use meta update to modify the current settings. For example, we can
switch to a common-effect model for the rest of our meta-analysis by typing
. meta update, common
Now all subsequent meta commands will automatically assume a common-effect model.
In the above examples, we used meta set, but you can use the same specifications with meta esize.
We also demonstrated only a few options, but the same principles apply to the other options supported
by meta set and meta esize.
For options random(), common() (and common), fixed() (and fixed), level(), and nometashow,
we can also modify the current setting temporarily while running a particular meta command. For exam-
ple, suppose that we want to obtain the results assuming a 90% confidence level with meta summarize.
We can type
. meta summarize, level(90)
If we wanted all relevant meta commands to use the 90% confidence level, we would have typed
. meta update, level(90)
Meta-analysis information
When you use meta set or meta esize, they record information about your study, effect sizes and
their precision, and meta-analysis model and meta-analysis estimation method, among other things. This
information will be used by subsequent meta commands. The summary information is mostly the same
between the two commands, but meta esize records several additional settings.
Let’s get familiar with the meta setting information by looking at examples.
Consider a fictional dataset, [Link], containing generic effect sizes and their standard errors
stored in the corresponding variables es and se.
. use [Link]
(Generic effect sizes; fictional data)
. describe es se
Variable Storage Display Value
name type format label Variable label
At the minimum, with meta set, we must specify the variables containing effect sizes and their stan-
dard errors. (For other uses of meta set, see Remarks and examples in [META] meta set.)
. meta set es se
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: es
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The summary is divided into four categories: information about the study, the specified effect sizes, their
precision, and meta-analysis model and method. Below, we describe in detail each output category.
Study information
No. of studies: 10
The study information consists of the number of studies (10 in our example), a study label (Generic), and
a study size (N/A). If the studylabel(varname) option is specified, the Study label: will contain the
name of the specified variable. Otherwise, a generic study label— Study 1, Study 2, and so on—will
be used in the output of meta commands. If the studysize(varname) option is specified with meta
set, the Study size: will contain the name of the specified variable.
Effect size
Type: Generic
Variable: es
The effect-size information consists of the type of the effect size, its label, and the variable containing
study-specific effect sizes. The effect-size Type: is always Generic with meta set. The effect-size
Label: is either a generic Effect size or as specified in the eslabel(string) option. This label will
be used to label the effect sizes in the output of all meta commands. The effect-size Variable: displays
the name of the declared variable containing effect sizes. After the declaration, both commands store
study-specific effect sizes in the system variable meta es (see System variables). meta set simply
copies them from the declared effect-size variable. Thus, Variable: will contain the name of the esvar
variable, es in our example, with meta set.
meta data — Declare meta-analysis data 65
Precision
Std. err.: se
CI level: 95%
The precision information consists of variables containing effect-size standard errors, confidence inter-
vals, and the declared confidence level. As with the effect sizes, meta set uses the standard errors speci-
fied in the sevar variable (variable se here). The corresponding confidence intervals are computed using
the effect sizes and their standard errors and stored in the system variables meta cil and meta ciu.
With meta set, you can specify confidence intervals instead of the standard errors, in which case the
standard errors will be computed from the effect sizes and confidence intervals and stored in meta se,
in which case Std. err.: will contain meta se; see Syntax in [META] meta set. CI: always con-
tains meta cil and meta ciu. The specified CI variables will be reported in User CI: with their
corresponding confidence level reported in User CI level:, which is controlled by the civarlevel()
option. The declared CI variables and the system CI variables will be the same only when civarlevel()
is the same as level(), and the system variables are the ones that are used in the meta-analysis.
CI level: reports the confidence level, controlled by the level() option, that will be used by all
meta commands when computing confidence intervals for various meta-analyses such as the CIs of the
overall effect size, regression coefficients, and so on. The default confidence level is 95% or as set by
set level.
Model and method
Model: Random-effects
Method: REML
As we pointed out in Declaring a meta-analysis model, the meta-analysis model and, consequently, the
meta-analysis estimation method are important aspects of your meta-analysis. As such, we made them be
part of your declaration step too. By default, a random-effects model with the REML estimation method
is assumed for most meta commands; see Default meta-analysis model and method. You can change the
defaults as we describe in Modifying default meta settings.
Consider [Link], containing fictional study-specific summary data for continuous outcomes
for group 1 and group 2.
. use [Link] clear
(Fictional summary data for continuous outcomes)
. describe n1 m1 sd1 n2 m2 sd2
Variable Storage Display Value
name type format label Variable label
With meta esize, we must specify the summary data to compute an effect size. Let’s focus on the
studies comparing the mean differences between the two groups. Our summary data include the numbers
of observations and the estimates of means and standard deviations for each group. We specify the
variables containing these summaries following the command name.
. meta esize n1 m1 sd1 n2 m2 sd2
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: _meta_studysize
Summary data: n1 m1 sd1 n2 m2 sd2
Effect size
Type: hedgesg
Label: Hedges’s g
Variable: _meta_es
Bias correction: Approximate
Precision
Std. err.: _meta_se
Std. err. adj.: None
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The meta setting information from meta esize is almost the same as the one produced by meta set,
which we described in Meta settings with meta set, but has several additional settings. The summary-
data variables are listed under Summary data:. As we mentioned earlier, meta esize computes the
effect sizes and their standard errors from the specified summary data, so effect-size Variable: and
Std. err.: contain the names of the corresponding system variables, meta es and meta se. The
summary data also include the information about the study size, so Study size: displays the name of
the system variable, meta studysize, that contains study size, which is equal to the sum of n1 and
n2 in our example.
By default, meta esize computes the Hedges’s 𝑔 effect size for the two-group mean comparison. You
can specify the esize(esspec) option to select a different effect size. For the Hedges’s 𝑔 effect size, there
are two methods to compute the underlying bias-correction term: approximate or exact. For consistency
with the meta-analysis literature, meta esize, by default, uses an approximation, as indicated in Bias
correction: under Effect size. But you can change this by specifying the exact option within
esize().
Another additional setting describes the type of adjustment applied when computing the standard er-
rors of the effect sizes; see Std. err. adj.: under Precision. This adjustment is applicable only with
the Hedges’s 𝑔 or Cohen’s 𝑑 effect size. No adjustment is made by default, but you can use the holkinse
option within esize() to specify the adjustment of Hedges and Olkin (1985). For the mean-difference
effect size, you can request the adjustment for unequal group variances by specifying esize()’s option
unequal.
Finally, for log odds-ratios or log risk-ratios, meta esize additionally reports the type of adjustment
made to the zero cells of contingency tables, which represent the summary data for a two-group com-
parison of binary outcomes. For these effect sizes, the type of adjustment will be listed in Zero-cells
adj.: under Effect size (not applicable in our example). By default, 0.5 is added to each zero cell,
meta data — Declare meta-analysis data 67
but you can specify the zerocells() option with meta esize to apply a different adjustment or none.
The zero-cells adjustment is also reported for meta-analysis of a single proportion when effect sizes are
logit-transformed proportions or raw proportions.
System variables
meta set and meta esize store information about the meta-analysis settings in data characteristics
([P] char) and system variables.
meta system variables are the variables that begin with meta . There are four main variables that
are stored by the two commands.
meta es stores study-specific effect sizes.
meta se stores the standard errors of study-specific effect sizes.
meta cil and meta ciu store the lower and upper limits of the CIs for study-specific effect sizes.
These variables correspond to the confidence level declared for the meta-analysis, the value of which is
stored in the data characteristic meta level.
Other system variables include integer study identifiers stored in meta id, study labels stored in a
string variable meta studylabel, and study sizes stored in meta studysize. meta studysize
is always stored with meta esize. With meta set, it is stored only when the variable containing study
sizes is specified in the studysize() option.
Also see Stored results in [META] meta set and Stored results in [META] meta esize.
We will demonstrate how to use meta set to declare generic effect sizes.
Sorted by:
We use the meta set command to declare the effect sizes (log hazard-ratios) and their standard errors.
. meta set loghr seloghr
Meta-analysis setting information
Study information
No. of studies: 4
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: loghr
Precision
Std. err.: seloghr
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
meta set reports that there are 4 studies in this dataset. The type of effect size is Generic because
we used the precalculated effect size. The default label Effect size will be used in the output. The
command also reports the variables that were used to declare the effect sizes, loghr, and their standard
errors, seloghr. The other settings are as we described in Meta settings with meta set.
meta data — Declare meta-analysis data 69
As we described in System variables, meta set created several system variables that will be used by
other meta commands in the computations:
. describe _meta*
Variable Storage Display Value
name type format label Variable label
meta id contains integers identifying the studies, and meta studylabel contains the study la-
bels. meta es and meta se contain log hazard-ratios and their standard errors, and meta cil
and meta ciu contain the corresponding lower and upper bounds of the 95% CIs for log hazard-ratios.
We did not specify the studylabel() option in this example, so generic labels will be used in the
output of other meta commands such as meta summarize:
. meta summarize
Effect-size label: Effect size
Effect size: loghr
Std. err.: seloghr
Meta-analysis summary Number of studies = 4
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0000
I2 (%) = 0.00
H2 = 1.00
Generic labels Study 1, Study 2, Study 3, and Study 4 are used to label the studies. Also, the generic
label Effect size is used to label the log hazard-ratios. See [META] meta summarize for details about
meta summarize.
We can provide more descriptive labels for the studies and the effect sizes by specifying options
studylabel() and eslabel().
meta data — Declare meta-analysis data 70
We created a new variable, studylbl, that combines the author and year information of the published
studies to use as our study labels. meta set reported that studylbl will be used to label the studies and
Ln(HR) to label the effect sizes.
If we now rerun meta summarize (suppressing the table header), we see the new labels in the output.
. meta summarize, noheader
Effect-size label: Ln(HR)
Effect size: loghr
Std. err.: seloghr
Study label: studylbl
After the original declaration, we can use meta update to update the meta settings instead of repeating
meta set; see example 6.
Also see Remarks and examples in [META] meta set for more examples of using meta set.
We demonstrate how to use meta esize to compute and declare effect sizes for continuous and binary
outcomes.
meta data — Declare meta-analysis data 71
Example 2: Mean differences for two-sample continuous data using meta esize
Consider the study of Gibson et al. (2002), who compared the performance of asthma-management
programs for adults with asthma.
The asthma dataset contains the following summary-data variables:
use [Link] clear
(Education and medical review for asthma patients)
. describe ni meani sdi nc meanc sdc
Variable Storage Display Value
name type format label Variable label
Variables ni, meani, and sdi record the study-specific sample sizes, mean numbers of days off
work/school, and standard deviations in the intervention group, and variables nc, meanc, and sdc record
those items in the control group.
To illustrate, we will compute and declare a couple of effect sizes using meta esize. We will start
with the default effect size—Hedges’s 𝑔 standardized mean. We use meta esize to compute this effect
size for each study from the summary variables and declare them for further meta-analysis.
. meta esize ni meani sdi nc meanc sdc
(2 missing values generated)
Meta-analysis setting information
Study information
No. of studies: 13
Study label: Generic
Study size: _meta_studysize
Summary data: ni meani sdi nc meanc sdc
Effect size
Type: hedgesg
Label: Hedges’s g
Variable: _meta_es
Bias correction: Approximate
Precision
Std. err.: _meta_se
Std. err. adj.: None
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
There are missing values in the summary variables, so some of the generated system variables will also
contain missing values as reported by the note.
meta esize reports that the computed effect size is Hedges’s 𝑔. See Meta settings with meta esize
for the explanation of other settings.
meta data — Declare meta-analysis data 72
With this effect size, we can specify that the adjustment of Hedges and Olkin (1985) be applied to the
standard errors.
. meta esize ni meani sdi nc meanc sdc, esize(hedgesg, holkinse)
(2 missing values generated)
Meta-analysis setting information
Study information
No. of studies: 13
Study label: Generic
Study size: _meta_studysize
Summary data: ni meani sdi nc meanc sdc
Effect size
Type: hedgesg
Label: Hedges’s g
Variable: _meta_es
Bias correction: Approximate
Precision
Std. err.: _meta_se
Std. err. adj.: Hedges--Olkin
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
meta esize updates the adjustment in Std. err. adj.: under Precision to Hedges-Olkin.
Because all studies measured our outcome of interest on the same scale (number of days off work or
school), we may consider the raw (unstandardized) mean difference as our effect size. We can compute
it by specifying the esize(mdiff) option.
. meta esize ni meani sdi nc meanc sdc, esize(mdiff)
(2 missing values generated)
Meta-analysis setting information
Study information
No. of studies: 13
Study label: Generic
Study size: _meta_studysize
Summary data: ni meani sdi nc meanc sdc
Effect size
Type: mdiff
Label: Mean diff.
Variable: _meta_es
Precision
Std. err.: _meta_se
Std. err. adj.: None
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The information about the type of the effect size and its label is updated to correspond to the mean
differences.
meta data — Declare meta-analysis data 73
As with meta set, we could have used meta update to update the meta settings after the initial
declaration instead of using meta esize; see example 6.
Example 3: Log odds-ratios and log risk-ratios for two-sample binary data
Let’s revisit the declaration we used in example 1 in [META] meta for the bcg dataset from the BCG
vaccine study (Colditz et al. 1994 ). The summary data (contingency tables) are recorded in the following
variables:
use [Link] clear
(Efficacy of BCG vaccine against tuberculosis)
. describe npost nnegt nposc nnegc
Variable Storage Display Value
name type format label Variable label
The summary variables represent the cells of the 2 × 2 tables for each study.
As with continuous data, we specify the summary variables for binary data following meta esize:
. meta esize npost nnegt nposc nnegc
Meta-analysis setting information
Study information
No. of studies: 13
Study label: Generic
Study size: _meta_studysize
Summary data: npost nnegt nposc nnegc
Effect size
Type: lnoratio
Label: Log odds-ratio
Variable: _meta_es
Zero-cells adj.: None; no zero cells
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The computed default effect sizes are log odds-ratios, whereas the effect of interest in this study is the
risk ratio or, equivalently, the log risk-ratio.
meta data — Declare meta-analysis data 74
To compute log risk-ratios, we specify esize(lnrratio). We also specify the variable studylbl
containing study labels in the studylabel() option.
. meta esize npost nnegt nposc nnegc, esize(lnrratio) studylabel(studylbl)
Meta-analysis setting information
Study information
No. of studies: 13
Study label: studylbl
Study size: _meta_studysize
Summary data: npost nnegt nposc nnegc
Effect size
Type: lnrratio
Label: Log risk-ratio
Variable: _meta_es
Zero-cells adj.: None; no zero cells
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Notice that there are no zero cells in our data, so there is no zero-cells adjustment (see Zero-cells
adj.: under Effect size).
Also see example 6 for how to update the above meta settings without having to respecify the summary
variables.
Sorted by:
meta data — Declare meta-analysis data 75
As with two-group comparisons of continuous and binary data, we specify the summary variables
following meta esize:
. meta esize ndeaths pensize
Meta-analysis setting information
Study information
No. of studies: 4
Study label: Generic
Study size: _meta_studysize
Summary data: ndeaths pensize
Effect size
Type: ftukeyprop
Label: Freeman--Tukey’s p
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Unlike the Freeman–Tukey-transformed proportions, in the presence of zero successes or failures, the
raw proportions require zero-cell adjustments; otherwise, their variances will be undefined. In our ex-
ample, there are no zero cells, so no zero-cells adjustment was applied (see Zero-cells adj.: under
Effect size).
We could have also used meta update to modify the above meta settings without having to respecify
the summary variables; see example 6.
meta data — Declare meta-analysis data 76
As with one-sample binary data, we specify two summary variables, rho and n, following meta
esize. To compute Fisher’s 𝑧-transformed correlations, we specify the fisherz option:
. meta esize rho n, fisherz
Meta-analysis setting information
Study information
No. of studies: 16
Study label: Generic
Study size: _meta_studysize
Summary data: rho n
Effect size
Type: fisherz
Label: Fisher’s z
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
meta data — Declare meta-analysis data 77
For meta-analysis using the untransformed (raw) correlations, you can specify the correlation op-
tion:
. meta esize rho n, correlation
Meta-analysis setting information
Study information
No. of studies: 16
Study label: Generic
Study size: _meta_studysize
Summary data: rho n
Effect size
Type: correlation
Label: Correlation
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
We could have also used meta update to modify the above meta settings without having to respecify
the summary variables; see example 6.
We show examples of how to display the current meta settings by using meta query and update them
by using meta update.
Let’s again use meta esize to declare the data (quietly) and use meta query to display the current
settings.
. quietly meta esize npost nnegt nposc nnegc
. meta query
-> meta esize npost nnegt nposc nnegc
Meta-analysis setting information from meta esize
Study information
No. of studies: 13
Study label: Generic
Study size: _meta_studysize
Summary data: npost nnegt nposc nnegc
Effect size
Type: lnoratio
Label: Log odds-ratio
Variable: _meta_es
Zero-cells adj.: None; no zero cells
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
In example 3, we redeclared the data to use the log risk-ratios as effect sizes. After the initial decla-
ration, it is more convenient to use meta update to update the meta settings because we do not need to
respecify the summary variables with meta update.
meta data — Declare meta-analysis data 79
If your summary variables change, however, you must specify them with meta esize.
You can use meta update after either meta esize or meta set. meta update will respect the options
of meta esize and meta set.
For example, recall the meta set declaration from example 1:
. use [Link] clear
(Single-agent purine analogue treatment for leukemia)
. quietly meta set loghr seloghr
Let’s update the meta settings to include the variable containing study sizes.
. generate ssize = ntreat + ncontrol
. meta update, studysize(ssize)
-> meta set loghr seloghr , random(reml) studysize(ssize)
Meta-analysis setting information from meta set
Study information
No. of studies: 4
Study label: Generic
Study size: ssize
Effect size
Type: <generic>
Label: Effect size
Variable: loghr
Precision
Std. err.: seloghr
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The studysize() option is supported only with meta set. If we tried to specify this option with meta
update after meta esize, we would have received an error message.
meta data — Declare meta-analysis data 80
References
Colditz, G. A., T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg, and F. Mosteller. 1994. Efficacy
of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American
Medical Association 271: 698–702. [Link]
Gibson, P., H. Powell, A. Wilson, M. J. Abramson, P. Haywood, A. Bauman, M. J. Hensley, E. H. Walters, and J. J. L.
Roberts. 2002. Self-management education and regular practitioner review for adults with asthma. Cochrane Database
of Systematic Reviews 3. [Link]
Hedges, L. V., and I. Olkin. 1985. Statistical Methods for Meta-Analysis. Orlando, FL: Academic Press.
John, O. P., and S. Srivastava. 1999. “The big five trait taxonomy: History, measurement, and theoretical perspectives”.
In Handbook of Personality: Theory and Research, edited by L. A. Pervin and O. P. John, 102–138. 2nd ed. New York:
Guilford.
Miller, J. J. 1978. The inverse of the Freeman–Tukey double arcsine transformation. American Statistician 32: 138. https:
//[Link]/10.1080/00031305.1978.10479283.
Molloy, G. J., R. E. O’Carroll, and E. Ferguson. 2013. Conscientiousness and medication adherence: A meta-analysis.
Annals of Behavioral Medicine 47: 92–101. [Link]
Steurer, M., G. Pall, S. Richards, G. Schwarzer, J. Bohlius, and R. Greil. 2006. Single-agent purine analogues for the
treatment of chronic lymphocytic leukaemia: A systematic review and meta-analysis. Cancer Treatment Reviews 32:
377–389. [Link]
Sweeting, M. J., A. J. Sutton, and P. C. Lambert. 2004. What to add to nothing? Use and avoidance of continuity correc-
tions in meta-analysis of sparse data. Statistics in Medicine 23: 1351–1375. [Link]
Also see
[META] meta esize — Compute effect sizes and declare meta-analysis data
[META] meta set — Declare meta-analysis data using generic effect sizes
[META] meta update — Update, describe, and clear meta-analysis settings
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta esize — Compute effect sizes and declare meta-analysis data
Description
meta esize computes effect sizes from study summary data and uses the results to declare the data in
memory to be meta data, informing Stata of key variables and their roles in a meta-analysis. It computes
various effect sizes and their respective standard errors for two-group comparisons of continuous and
binary outcomes and for estimating a single proportion of a binary outcome or a correlation between
two variables. It then uses the computed effect sizes and standard errors to declare the data in memory
to be meta data. If you do not have the summary data from individual studies and, instead, you have
precalculated effect sizes, you can use meta set to declare your meta-analysis data. You must use meta
esize or meta set to perform univariate meta-analysis using the meta command; see [META] meta
data.
If you need to update some of the meta settings after the data declaration, see [META] meta update.
To display current meta settings, use meta query; see [META] meta update.
Quick start
Compute Hedges’s 𝑔 standardized mean differences and their standard errors from variables nt (sam-
ple size in treatment group), meant (mean of treatment group), sdt (standard deviation in treatment
group), and their counterparts in the control group: nc, meanc, and sdc
meta esize nt meant sdt nc meanc sdc
Same as above, but compute Cohen’s 𝑑 instead of the default Hedges’s 𝑔, and use the DerSimonian–Laird
estimation method instead of the default REML method
meta esize nt meant sdt nc meanc sdc, esize(cohend) random(dlaird)
Compute log odds-ratios and their standard errors from variables nst (number of successes in treatment
group), nft (number of failures in treatment group), and their respective counterparts in control group:
nsc and nfc
meta esize nst nft nsc nfc
Same as above, but compute the log risk-ratios instead of the default log odds-ratios
meta esize nst nft nsc nfc, esize(lnrratio)
Same as above, but request a common-effect meta-analysis
meta esize nst nft nsc nfc, esize(lnrratio) common
Compute transformed proportions using the default Freeman–Tukey double-arcsine transformation and
their standard errors from variables ns (number of successes) and n (study sample size)
meta esize ns n
81
meta esize — Compute effect sizes and declare meta-analysis data 82
Same as above, but compute the logit-transformed proportions instead of the default Freeman–Tukey-
transformed proportions
meta esize ns n, esize(logitprop)
Compute Fisher’s 𝑧-transformed correlations and their standard errors from variables r (correlation) and
n (study sample size)
meta esize r n, fisherz
Same as above, but use the untransformed (raw) correlations and compute their standard errors
meta esize r n, correlation
Menu
Statistics > Meta-analysis
meta esize — Compute effect sizes and declare meta-analysis data 83
Syntax
Compute and declare effect sizes for two-group comparison of continuous outcomes
meta esize n1 mean1 sd1 n2 mean2 sd2 [ if ] [ in ] [ , options continuous options ]
Compute and declare effect sizes for two-group comparison of binary outcomes
meta esize n11 n12 n21 n22 [ if ] [ in ] [ , options binary options ]
Compute and declare effect sizes for estimating a single proportion (prevalence)
meta esize ns n [ if ] [ in ] [ , options proportion options ]
Variables n1, mean1, and sd1 contain sample sizes, means, and standard deviations from individual
studies for group 1 (treatment), and variables n2, mean2, and sd2 contain the respective summaries
for group 2 (control).
Variables n11 and n12 contain numbers of successes and numbers of failures from individual studies for
group 1 (treatment), and variables n21 and n22 contain the respective numbers for group 2 (control).
A single observation defined by variables n11, n12, n21, and n22 represents a 2 × 2 table from an
individual study. Therefore, variables n11, n12, n21, and n22 represent a sample of 2 × 2 tables from
all studies. We will thus refer to observations on these variables as 2 × 2 tables and to values of these
variables as cells.
Variables ns and n contain number of successes and sample sizes from individual studies. Here, the values
of the variable ns (number of successes) and the values of an implicit “variable” n − ns (number of
failures) are referred to as cells.
Variables r and n contain correlations and sample sizes from individual studies.
options Description
Options
studylabel(varname) variable to be used to label studies in all meta-analysis output
eslabel(string ) effect-size label to be used in all meta-analysis output; default is
eslabel(Effect size)
level(#) confidence level for all subsequent meta-analysis commands
[ no ]metashow display or suppress meta settings with other meta commands
estypebin Description
lnoratio log odds-ratio; the default
lnrratio log risk-ratio (also known as log rate-ratio and log relative-risk)
rdiff risk difference
lnorpeto Peto’s log odds-ratio
estypeprop Description
ftukeyprop Freeman–Tukey-transformed proportion; the default
logitprop logit-transformed proportion
proportion untransformed (raw) proportion
estypecorr Description
fisherz Fisher’s 𝑧-transformed correlation
correlation untransformed (raw) correlation
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
meta esize — Compute effect sizes and declare meta-analysis data 86
cefemethod Description
mhaenszel Mantel–Haenszel
invvariance inverse variance
ivariance synonym for invvariance
Options
Main
esize(esspec) specifies the effect size to be used in the meta-analysis. For a two-group comparison of
continuous outcomes, esspec is estypecnt [ , esopts ]. For binary outcomes, esspec is estypebin for a
two-group comparison or estypeprop for estimating a single proportion (prevalence). For correlation
data, esspec is estypecorr.
For a two-group comparison of continuous outcomes, estypecnt is one of the following: hedgesg,
cohend, glassdelta2, glassdelta1, or mdiff. Below, we describe each type with its specific
options, esopts.
hedgesg [ , exact holkinse ] computes the effect size as the Hedges’s 𝑔 (1981) standardized
mean difference. This is the default. For consistency with meta-analysis literature, hedgesg
uses an approximation to compute 𝑔 rather than the exact computation (see Methods and for-
mulas), as provided by esize’s option hedgesg. You can use the exact suboption to match
the results from esize (see [R] esize).
cohend [ , holkinse ] computes the effect size as the Cohen’s 𝑑 (1969, 1988) standardized mean
difference.
glassdelta2 computes the effect size as the Glass’s Δ standardized mean difference, where the
standardization uses the standard deviation of the group 2 (control group). glassdelta2 is
more common in practice than glassdelta1.
glassdelta1 computes the effect size as the Glass’s Δ standardized mean difference, where the
standardization uses the standard deviation of the group 1 (treatment group). glassdelta2 is
more common in practice than glassdelta1.
mdiff [ , unequal ] computes the effect size as the unstandardized or raw mean difference.
esopts are exact, holkinse, and unequal.
exact specifies that the exact computation be used for the bias-correction factor in Hedges’s 𝑔
instead of an approximation used by default.
holkinse specifies that the standard error of Hedges’s 𝑔 and Cohen’s 𝑑 be computed as described
in Hedges and Olkin (1985). This is another approximation to the standard error of these effect
sizes sometimes used in practice.
unequal specifies that the computation of the standard error of the mean difference
(esize(mdiff)) assume unequal group variances.
For a two-group comparison of binary outcomes, estypebin is one of the following: lnoratio,
lnrratio, rdiff, or lnorpeto.
lnoratio specifies that the effect size be the log odds-ratio. This is the default.
lnrratio specifies that the effect size be the log risk-ratio, also known as a log relative-risk and
a log risk-rate.
meta esize — Compute effect sizes and declare meta-analysis data 87
Options random(), common(), and fixed() declare the meta-analysis model globally throughout the
entire meta-analysis; see Declaring a meta-analysis model in [META] meta data. In other words, once you
set your meta-analysis model using meta esize, all subsequent meta commands will assume that same
model. You can update the declared model by using meta update or change it temporarily by specifying
the corresponding option with the meta commands. Options random(), common(), and fixed() may
not be combined. If these options are omitted, random(reml) is assumed; see Default meta-analysis
model and method in [META] meta data. Also see Meta-analysis models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis; see
Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). Below, we provide a short description for each method based on Veroniki et al.
(2016). Also see Declaring a meta-analysis estimation method in [META] meta data.
meta esize — Compute effect sizes and declare meta-analysis data 88
reml, the default, specifies that the REML method (Raudenbush 2009) be used to estimate 𝜏 2 .
This method produces an unbiased, nonnegative estimate of the between-study variance and is
commonly used in practice. Method reml requires iteration.
mle specifies that the ML method (Hardy and Thompson 1996) be used to estimate 𝜏 2 . It produces
a nonnegative estimate of the between-study variance. With a few studies or small studies, this
method may produce biased estimates. With many studies, the ML method is more efficient
than the REML method. Method mle requires iteration.
ebayes specifies that the empirical Bayes estimator (Berkey et al. 1995 ), also known as the
Paule–Mandel estimator (Paule and Mandel 1982), be used to estimate 𝜏 2 . From simulations,
this method, in general, tends to be less biased than other random-effects methods, but it is also
less efficient than reml or dlaird. Method ebayes produces a nonnegative estimate of 𝜏 2 and
requires iteration.
dlaird specifies that the DerSimonian–Laird method (DerSimonian and Laird 1986) be used to
estimate 𝜏 2 . This method, historically, is one of the most popular estimation methods because
it does not make any assumptions about the distribution of random effects and does not require
iteration. But it may underestimate the true between-study variance, especially when the vari-
ability is large and the number of studies is small. This method may produce a negative value
of 𝜏 2 and is thus truncated at zero in that case.
sjonkman specifies that the Sidik–Jonkman method (Sidik and Jonkman 2005) be used to estimate
𝜏 2 . This method always produces a nonnegative estimate of the between-study variance and
thus does not need truncating at 0, unlike the other noniterative methods. Method sjonkman
does not require iteration.
hedges specifies that the Hedges method (Hedges 1983) be used to estimate 𝜏 2 . When the sam-
pling variances of effect-size estimates can be estimated without bias, this estimator is exactly
unbiased (before truncation), but it is not widely used in practice (Veroniki et al. 2016 ). Method
hedges does not require iteration.
hschmidt specifies that the Hunter–Schmidt method (Schmidt and Hunter 2015) be used to es-
timate 𝜏 2 . Although this estimator achieves a lower MSE than other methods, except ML, it is
known to be negatively biased. Method hschmidt does not require iteration.
common specifies that a common-effect model be assumed for meta-analysis; see Common-effect (“fixed-
effect”) model in [META] Intro. It uses the inverse-variance estimation method; see Meta-analysis
estimation methods in [META] Intro. Also see the discussion in [META] meta data about common-
effect versus fixed-effects models.
common and common(cefemethod) specify that a common-effect model be assumed for meta-analysis;
see Common-effect (“fixed-effect”) model in [META] Intro. Also see the discussion in [META] meta
data about common-effect versus fixed-effects models.
common implies common(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
common(invvariance) for all other effect sizes.
cefemethod is one of mhaenszel or invvariance (synonym ivariance). Below, we provide a
short description for each method. Also see Declaring a meta-analysis estimation method in
[META] meta data.
meta esize — Compute effect sizes and declare meta-analysis data 89
mhaenszel is available only for a two-group comparison of binary outcomes. It specifies a meta-
analysis using the Mantel–Haenszel method to estimate the overall effect size. This method is
the default for effect sizes lnoratio, lnrratio, and rdiff but is not available for effect size
lnorpeto.
invvariance specifies a meta-analysis using the inverse-variance method to estimate the overall
effect size. This method is available for all types of analyses and effect sizes. It is the default for
a two-group comparison of continuous outcomes, for a two-group comparison of binary out-
comes using effect size lnorpeto, for correlation data, and for estimating a single proportion
(or prevalence).
ivariance is a synonym for invvariance.
fixed and fixed(cefemethod) specify that a fixed-effects model be assumed for meta-analysis; see
Fixed-effects model in [META] Intro. Also see the discussion in [META] meta data about fixed-effects
versus common-effect models.
fixed implies fixed(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
fixed(invvariance) for all other effect sizes.
cefemethod is one of mhaenszel or invvariance (synonym ivariance); see descriptions above.
fixed specifies that a fixed-effects model be assumed for meta-analysis; see Fixed-effects model in
[META] Intro. It uses the inverse-variance estimation method; see Meta-analysis estimation methods
in [META] Intro. Also see the discussion in [META] meta data about fixed-effects versus common-
effect models.
Options
zerocells(zcspec) is for use with binary outcomes when the effect size is either lnoratio or
lnrratio for the two-sample case or either logitprop or proportion for the one-sample case.
It specifies the adjustment to be used for the cells in the presence of zero cells. The cells are the val-
ues of variables n11, n12, n21, and n22 for the two-sample case and the number of successes and the
number of failures for the one-sample case. The adjustment is applied during computation—the orig-
inal data are not modified. The default is zerocells(0.5, only0); it adds 0.5 to all cells of studies
with at least one zero cell. To request no adjustment, specify zerocells(none). More generally, the
syntax of zcspec is
# [ , zcadj ]
where # is the adjustment value, also known as the continuity-correction value in the meta-analysis
literature, and zcadj is only0 or allif0.
only0 specifies that # be added to all cells of only those studies with at least one zero cell. For
the two-sample case, during computation, # is added to each observation defined by variables
n11, n12, n21, and n22 if that observation contains a value of zero in any of those variables.
For the one-sample case, # is added to all values (cells) corresponding to zero successes and to
zero failures.
allif0 specifies that # be added to all cells of all studies but only if there is at least one study with
a zero cell. For the two-sample case, during computation, # is added to all values of variables
n11, n12, n21, and n22 but only if there is a zero value in one of the four variables. For the
one-sample case, # is added to all cells (number of successes and number of failures) if at least
one study contains zero successes or zero failures.
meta esize — Compute effect sizes and declare meta-analysis data 90
For the effect size lnoratio, zcspec may also be tacc, which implements the treatment-arm conti-
nuity correction of Sweeting, Sutton, and Lambert (2004). This method estimates the group-specific
adjustment values from the data to minimize the bias of the overall odds-ratio estimator in the presence
of zero cells. This method is recommended when the groups are unbalanced.
studylabel(varname) specifies a string variable containing labels for the individual studies to be used
in all applicable meta-analysis output. The default study labels are Study 1, Study 2, . . . , Study 𝐾,
where 𝐾 is the total number of studies in the meta-analysis.
eslabel(string ) specifies that string be used as the effect-size label in all relevant meta-analysis output.
The default label is Effect size.
level(#) specifies the confidence level, as a percentage, for confidence intervals. It will be used
by all subsequent meta-analysis commands when computing confidence intervals. The default is
level(95) or as set by set level; see [R] level. After the declaration, you can specify level()
with meta update to update the confidence level to be used throughout the rest of the meta-analysis
session. You can also specify level() directly with the meta commands to modify the confidence
level, temporarily, during the execution of the command.
metashow and nometashow display or suppress the meta setting information in the output of other meta
commands. By default, this information is displayed at the top of their output. You can also spec-
ify nometashow with meta update to suppress the meta setting output for the entire meta-analysis
session after the declaration.
The cells of the table are composed of the numbers of “successes” and “failures” within each of the
comparison groups. If a subject experiences an event of interest, it is a success; otherwise, it is a failure.
Thus, the summary data for a two-group comparison of binary outcomes include the above 2 × 2 table
for each study.
In this case, meta esize requires that four variables be specified containing the numbers of successes
and failures in the treatment and control groups.
The goal of each study is to compare the probabilities of a success between the two groups. Various
effect-size measures can be used for the comparison. For two-sample binary data, meta esize provides
the following effect sizes: log odds-ratios (including Peto’s log odds-ratios), the default; log risk-ratios;
and risk differences. These are specified, respectively, as lnoratio, lnorpeto, lnrratio, and rdiff
in the esize() option.
As described in Declaring a meta-analysis model in [META] meta data, you can choose between
a random-effects, a fixed-effects, or a common-effect model. You can also choose from a number of
estimation methods that are specific to the chosen model. For fixed-effects and common-effect models,
in addition to the inverse-variance method, the Mantel–Haenszel method is available (and is the default)
with effect sizes lnoratio, lnrratio, and rdiff; see Declaring a meta-analysis estimation method in
[META] meta data and Meta-analysis estimation methods in [META] Intro for details.
Zero cell counts are known to create computational difficulties for odds ratios and risk ratios. A
common solution is to add a small number, say, 0.5, to all cells of tables containing zero cells. This and
other zero-cells adjustments are available in the zerocells() option.
Let’s now look at several examples. Consider the following fictional meta-analysis dataset:
. use [Link]
(Fictional data for binary outcomes)
. describe
Contains data from [Link]
Observations: 4 Fictional data for binary
outcomes
Variables: 5 23 Apr 2024 12:14
Sorted by:
We will use this dataset to demonstrate how to compute effect sizes, specify different meta-analysis
models, and adjust for zero cells with two-sample binary data.
The output indicates that there are 4 studies in the meta-analysis and, by default, a random-effects meta-
analysis is to be assumed, where the heterogeneity parameter 𝜏 2 is estimated via the REML method. The
default computed effect size is the log odds-ratio. meta esize creates multiple system variables (see
System variables in [META] meta data) that store the effect-size values, their standard errors, and the
upper and lower limits of the CIs for the effect sizes.
We can now use, for example, meta summarize to list the individual log odds-ratios and the overall
log odds-ratio, which is denoted as theta.
. meta summarize
Effect-size label: Log odds-ratio
Effect size: _meta_es
Std. err.: _meta_se
Meta-analysis summary Number of studies = 4
Random-effects model Heterogeneity:
Method: REML tau2 = 1.4417
I2 (%) = 69.33
H2 = 3.26
1. 2 116 17 541
2. 0 15 15 682
3. 8 61 37 614
4. 1 421 9 291
meta esize — Compute effect sizes and declare meta-analysis data 94
By default, meta esize adds a constant value of 0.5 (that is, option zerocells(0.5, only0) is
assumed) to each cell of a study that has a zero cell; see Zero-cells adj.: in the output of meta set
in example 1. We can modify this adjustment by specifying a different constant factor. For example, we
might add 0.003 to each zero cell:
. meta esize tdead tsurv cdead csurv, zerocells(.003)
Meta-analysis setting information
Study information
No. of studies: 4
Study label: Generic
Study size: _meta_studysize
Summary data: tdead tsurv cdead csurv
Effect size
Type: lnoratio
Label: Log odds-ratio
Variable: _meta_es
Zero-cells adj.: .003, only0
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Or we may instead choose a different type of continuity correction, for example, the treatment-arm con-
tinuity correction (TACC), which we specify as zerocells(tacc):
. meta esize tdead tsurv cdead csurv, zerocells(tacc)
Meta-analysis setting information
Study information
No. of studies: 4
Study label: Generic
Study size: _meta_studysize
Summary data: tdead tsurv cdead csurv
Effect size
Type: lnoratio
Label: Log odds-ratio
Variable: _meta_es
Zero-cells adj.: tacc
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Note that this option can be specified only when using the log odds-ratio as the effect size.
meta esize — Compute effect sizes and declare meta-analysis data 95
In the above, we could have specified simply common because the Mantel–Haenszel method is the
default for a common-effect model with log odds-ratios.
Let’s now demonstrate several usages of meta esize for a two-group comparison of continuous out-
comes. Consider the following fictional meta-analysis dataset:
. use [Link] clear
(Fictional summary data for continuous outcomes)
. describe
Contains data from [Link]
Observations: 10 Fictional summary data for
continuous outcomes
Variables: 6 19 Apr 2024 14:00
Sorted by:
We will use this dataset to demonstrate different usages of the meta esize command with continuous-
outcomes meta-analysis data.
We see from the output that the Hedges’s 𝑔 standardized mean difference is used for the effect size, and,
as for binary outcomes, a random-effects REML model is assumed. See Meta settings with meta esize in
[META] meta data for a detailed description of all settings for this dataset.
meta esize — Compute effect sizes and declare meta-analysis data 97
Or, instead of the random-effects model, we may specify a fixed-effects model, which implies the inverse-
variance estimation method.
meta esize — Compute effect sizes and declare meta-analysis data 98
Sorted by:
meta esize — Compute effect sizes and declare meta-analysis data 99
We will use this dataset to demonstrate different usages of the meta esize command to declare the
data for meta-analysis of a single proportion.
The output shows that the summary data are defined by variables nsucc and ssize and that, by
default, the Freeman–Tukey-transformed proportion is used as the effect size. A random-effects REML
model is assumed. Other settings are exactly as described in example 1.
The output differs from that in example 8 in the Effect size section. It now reflects that logit-
transformed proportion is the effect size of choice instead of the default Freeman–Tukey-transformed
proportion. There is also a new row for the zero-cells adjustment. This row did not show up in the output
of example 8 because the Freeman–Tukey-transformed proportion does not need continuity correction.
In our dataset, there are no zero cells, so the output in that row shows that no zero-cells adjustment was
applied.
The logit-transformed proportion (and the untransformed proportion, esize(proportion)) should
be avoided when there are study proportions that are close to 0 or 1.
Or perhaps you believe that your proportions are similar across the studies and that a common-effect
model is adequate to synthesize the overall proportion. You may request a common-effect model with
the inverse-variance method by specifying the common option.
meta esize — Compute effect sizes and declare meta-analysis data 101
Sorted by:
We will use this dataset to demonstrate different usages of the meta esize command to declare the
data for meta-analysis of correlations.
meta esize — Compute effect sizes and declare meta-analysis data 102
Example 11: Specify the effect size and the default setting
When we deal with correlation data, the most rudimentary syntax of meta esize requires that we
specify the correlations (rho) and the study sample sizes (n). We must also specify one of fisherz
(Fisher’s 𝑧-transformed correlations) or correlation (untransformed correlations) as the effect size.
. meta esize rho n, fisherz
Meta-analysis setting information
Study information
No. of studies: 7
Study label: Generic
Study size: _meta_studysize
Summary data: rho n
Effect size
Type: fisherz
Label: Fisher’s z
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The output shows that the summary data are defined by variables rho and n and that the Fisher’s
𝑧-transformed correlation is used as the effect size. A random-effects REML model is assumed. Other
settings are exactly as described in example 1.
Instead of using the Fisher’s 𝑧-transformed correlation, we can choose the untransformed (raw) cor-
relation as the effect size by using the correlation option.
. meta esize rho n, correlation
Meta-analysis setting information
Study information
No. of studies: 7
Study label: Generic
Study size: _meta_studysize
Summary data: rho n
Effect size
Type: correlation
Label: Correlation
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
The output differs from that above in the Effect size section. It now reflects that the untransformed
(raw) correlation is the effect size of choice instead of the Fisher’s 𝑧-transformed correlation.
Many authors (Borenstein and Hedges 2019) argue that untransformed correlations should be avoided
particularly when there are study correlations that are close to −1 or 1.
meta esize — Compute effect sizes and declare meta-analysis data 103
Or perhaps you believe that your correlations are similar across the studies and that a common-effect
model is adequate to synthesize the overall correlation. You may request a common-effect model with
the inverse-variance method by specifying the common option.
. meta esize rho n, fisherz common
Meta-analysis setting information
Study information
No. of studies: 7
Study label: Generic
Study size: _meta_studysize
Summary data: rho n
Effect size
Type: fisherz
Label: Fisher’s z
Variable: _meta_es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Common effect
Method: Inverse-variance
meta esize — Compute effect sizes and declare meta-analysis data 104
Stored results
meta esize stores the following characteristics and system variables:
Characteristics
dta[ meta marker] “ meta ds 1”
dta[ meta K] number of studies in the meta-analysis
dta[ meta studylabel] name of string variable containing study labels or Generic
dta[ meta estype] type of effect size; varies
dta[ meta eslabelopt] eslabel(eslab), if specified
dta[ meta eslabel] effect-size label from eslabel(); default varies
dta[ meta eslabeldb] effect-size label for dialog box
dta[ meta esvardb] meta es
dta[ meta level] default confidence level for meta-analysis
dta[ meta esizeopt] esize(estype), if specified
dta[ meta esopt exact] exact, if esize(, exact) is specified
dta[ meta esopt holkinse] holkinse, if esize(, holkinse) is specified
dta[ meta esopt unequal] unequal, if esize(, unequal) is specified
dta[ meta modellabel] meta-analysis model label: Random effects, Common effect, or
Fixed effects
dta[ meta model] meta-analysis model: random, common, or fixed
dta[ meta methodlabel] meta-analysis method label; varies by meta-analysis model
dta[ meta method] meta-analysis method; varies by meta-analysis model
dta[ meta randomopt] random(remethod), if specified
dta[ meta zcopt] zerocells(zcspec), if specified
dta[ meta zcadj] type of adjustment for zero cells, if zerocells()
specified
dta[ meta zcvalue] value added to cells to adjust for zero cells, if specified
dta[ meta show] empty or nometashow
dta[ meta n1var] name of group 1 sample-size variable; for two-sample continuous data
dta[ meta mean1var] name of group 1 mean variable; for two-sample continuous data
dta[ meta sd1var] name of group 1 std. dev. variable; for two-sample continuous data
dta[ meta n2var] name of group 2 sample-size variable; for two-sample continuous data
dta[ meta mean2var] name of group 2 mean variable; for two-sample continuous data
dta[ meta sd2var] name of group 2 std. dev. variable; for two-sample continuous data
dta[ meta n11var] name of n11 variable; for two-sample binary data (contingency table)
dta[ meta n12var] name of n12 variable; for two-sample binary data (contingency table)
dta[ meta n21var] name of n21 variable; for two-sample binary data (contingency table)
dta[ meta n22var] name of n22 variable; for two-sample binary data (contingency table)
dta[ meta nsvar] name of ns variable; for one-sample binary data (proportion)
dta[ meta nvar] name of n variable; for one-sample binary data (proportion) or correlation data
dta[ meta rvar] name of r variable; for correlation data
dta[ meta datatype] data type; continuous, binary, proportion, or correlation
dta[ meta datavars] variables specified with meta esize
dta[ meta setcmdline] meta esize command line
dta[ meta ifexp] if specification
dta[ meta inexp] in specification
System variables
meta id study ID variable
meta es variable containing effect sizes
meta se variable containing effect-size standard errors
meta cil variable containing lower bounds of CIs for effect sizes
meta ciu variable containing upper bounds of CIs for effect sizes
meta studylabel string variable containing study labels
meta studysize variable containing total sample size per study
meta esize — Compute effect sizes and declare meta-analysis data 105
population sample
group mean sd mean sd size
treatment 𝜇1 𝜎1 𝑥1 𝑠1 𝑛1
control 𝜇2 𝜎2 𝑥2 𝑠2 𝑛2
̂ 1 1
Var(𝐷) =( + ) 𝑠2
𝑛1 𝑛2
where 𝑠 is the pooled sample standard deviation
For unequal population standard deviations, use option esize(mdiff, unequal); then the variance of
𝐷 is estimated by
̂ 𝑠2 𝑠2
Var(𝐷) = 1 + 2
𝑛1 𝑛2
Unstandardized (raw) mean differences are not comparable across studies if the underlying means are
measured on different scales.
̂ 𝑛 + 𝑛2 𝑑2
Var(𝑑) = 1 +
𝑛1 𝑛2 2 (𝑛1 + 𝑛2 )
Hedges (1981) introduced an adjustment to Cohen’s 𝑑 for small samples that accounts for a small
upward bias in the absolute value of 𝜃. meta esize with option esize(hedgesg, exact) computes
Hedges’s 𝑔 as
𝑔 = 𝑐(𝑚) × 𝑑
where 𝑚 = 𝑛1 + 𝑛2 − 2 is the degrees of freedom used to estimate 𝑠 and
Γ (𝑚2 )
𝑐(𝑚) =
√ 2 Γ ( 𝑚−1
𝑚
2 )
The adjustment 𝑐(𝑚) is less than 1 and approaches 1 as 𝑚 gets large. The variance estimate of Hedges’s
𝑔 is
̂
Var(𝑔) ̂
= 𝑐(𝑚)2 × Var(𝑑)
Hedges (1981) also introduced an accurate approximation for 𝑐(𝑚) that has been traditionally used
in meta-analysis. The approximation for 𝑐(𝑚) is
3
𝐽 =1−
4𝑚 − 1
meta esize with option esize(hedgesg) computes Hedges’s 𝑔 using 𝐽 for 𝑐(𝑚); thus,
𝑔 =𝐽 ×𝑑
and
̂
Var(𝑔) ̂
= 𝐽 2 × Var(𝑑)
meta esize — Compute effect sizes and declare meta-analysis data 107
meta esize with option esize(glassdelta2) estimates 𝜃 using Glass’s Δ (Smith and Glass 1977),
𝑥1 − 𝑥2
Δ=
𝑠2
Notice that the standard deviation in the denominator is 𝑠2 , the sample standard deviation from the control
group, which is considered to be a more reliable estimate of the common variance. The estimated variance
of Δ is given by
̂ 𝑛 + 𝑛2 Δ2
Var(Δ) = 1 +
𝑛1 𝑛2 2 (𝑛2 − 1)
In the absence of the control group, such as in observational studies, Kline (2013), among others, suggests
providing statistics standardized by the standard deviation of each group. Glass’s Δ where standardiza-
tion is based on the treatment group may be computed via option esize(glassdelta1).
Alternative standard error estimators are available for Hedges’s 𝑔 and Cohen’s 𝑑 effect sizes.
Hedges and Olkin (1985, eq. 8, 80) provide another commonly used estimator for the variance of
Hedges’s 𝑔.
̂ 𝑛 + 𝑛2 𝑔2
Var(𝑔) = 1 +
𝑛1 𝑛2 2 (𝑚 − 1.94)
meta esize uses this formula when option esize(hedgesg, holkinse) is specified.
The alternative variance estimator of 𝑑 is given by
̂ 𝑛 + 𝑛2 𝑑2
Var(𝑑) = 1 +
𝑛1 𝑛2 2 (𝑛1 + 𝑛2 − 2)
Here, for simplicity, we use a different notation for the cell counts (𝑎, 𝑏, 𝑐, and 𝑑) compared with the
similar table in Meta-analysis for two-group comparison of binary outcomes.
For the treatment group, 𝑛1 is assumed fixed, 𝑎 ∼ binomial(𝑛1 , 𝜋1 ), and 𝜋1 is the probability of a
success. For the control group, 𝑛2 is assumed fixed, 𝑐 ∼ binomial(𝑛2 , 𝜋2 ), and 𝜋2 is the probability of
a success. The goal of each study is to compare the two success probabilities, 𝜋1 and 𝜋2 .
Estimates of the success probabilities are 𝜋1̂ = 𝑎/𝑛1 for the treatment group and 𝜋2̂ = 𝑐/𝑛2 for the
control group.
meta esize — Compute effect sizes and declare meta-analysis data 108
Odds ratio
meta esize with option esize(lnoratio) computes estimates of the log odds-ratios. Odds ratio is
the ratio of the odds of a success in the treatment group over the odds of a success in the control group.
𝜋1 / (1 − 𝜋1 )
OR =
𝜋2 / (1 − 𝜋2 )
̂ { ln(O 1 1 1 1
Var ̂ R)} = + + +
𝑎 𝑏 𝑐 𝑑
meta esize with option esize(lnorpeto) computes estimates of effect size using Peto’s log odds-
ratio (Peto et al. 1977 ; Yusuf et al. 1985 ). Peto’s odds ratio and log odds-ratio are
Peto 𝑎 − 𝐸 (𝑎)
̂
O R = exp { }
Var (𝑎)
Peto 𝑎 − 𝐸 (𝑎)
̂
ln (O R )=
Var (𝑎)
where the expectation and variance of 𝑎 are estimated assuming a hypergeometric distribution:
(𝑎 + 𝑐)𝑛1
𝐸 (𝑎) =
𝑛
𝑛1 𝑛2 (𝑎 + 𝑐) (𝑏 + 𝑑)
Var (𝑎) =
𝑛2 (𝑛 − 1)
Peto
̂
The variance estimate of ln (O R ) is
̂ { ln (O Peto 1
Var ̂ R )} =
Var (𝑎)
See, for instance, Fleiss 1993, Fleiss, Levin, and Paik 2003, and Bradburn et al. (2007) for a discussion
of potential bias of Peto’s odds ratio and its performance in sparse data.
meta esize with option esize(lnrratio) computes estimates of the log risk-ratios. The risk ratio
(RR), also known as the rate ratio or relative risk in the health sciences, is
𝜋1
RR =
𝜋2
RR is estimated by
𝑎/𝑛1
̂
R R =
𝑐/𝑛2
meta esize — Compute effect sizes and declare meta-analysis data 109
̂
Similarly to odds ratios, R ̂
R typically has a skewed distribution, but the natural logarithm of R ̂
R, ln (R R),
is asymptotically normally distributed. The estimate of the variance of ln (R ̂R) is
̂ { ln (R 1 1 1 1
Var ̂ R)} = + − −
𝑎 𝑐 𝑎+𝑏 𝑐+𝑑
Risk difference
meta esize with option esize(rdiff) computes estimates of the risk differences. The risk differ-
ence is
RD = 𝜋1 − 𝜋2
and is estimated by
𝑎 𝑐
̂
R D = −
𝑛1 𝑛2
̂
R Dis asymptotically normally distributed and is thus typically used without a transformation in meta-
analysis.
̂
The estimated variance of R D is
̂ (R 𝑎𝑏 𝑐𝑑
Var ̂D) = 3 + 3
𝑛1 𝑛2
When the proportion 𝑝 is near 0.5 and when 𝑛 is sufficiently large, the binomial distribution of 𝑒 is
well approximated by the normal distribution, and a meta-analysis may be performed in the natural
(untransformed) metric.
The estimated variance of 𝑝̂ is
̂ (𝑝)̂ = 𝑝̂ (1 − 𝑝)̂
Var
𝑛
Because the expression of the variance depends on 𝑝,̂ meta-analysis of this effect size tends to assign
artificially large weights for studies with 𝑝̂ close to 0 or 1. In this case, the variance of 𝑝̂ is close to 0,
and the study weights, which are the inverse variances, will be large. Also, study-specific CI limits may
fall outside the range of [0, 1] and, in practice, are truncated when this happens.
Freeman–Tukey-transformed proportion
By default (or with option esize(ftukeyprop)), meta esize computes the Freeman–Tukey-
transformed proportions and uses them as effect sizes in the meta-analysis. The Freeman–Tukey trans-
formation is also known as the Freeman–Tukey double-arcsine transformation in the literature. The
Freeman–Tukey-transformed proportion is given by
𝑒 𝑒+1
̂ = asin (√
𝑝FT ) + asin (√ ) (1)
𝑛+1 𝑛+1
̂ (𝑝FT 1
Var ̂ )=
𝑛 + 0.5
This is a variance-stabilizing transformation (variance does not depend on 𝑒) and is particularly prefer-
able when 𝑝̂ is close to 0 or 1. This transformation also addresses the issue of assigning artificially small
or large weights to studies in the meta-analysis when 𝑒 is close to 0 or 𝑛. And it guarantees that the back-
transformed CIs (see Inverse Freeman–Tukey transformation in Methods and formulas in [META] meta
summarize) fall within the [0, 1] range.
Logit-transformed proportion
meta esize with option esize(logitprop) computes logit-transformed proportions and uses them
as effect sizes in the meta-analysis. The logit-transformed proportion is estimated by
𝑝̂
logit (𝑝)̂ = ln ( )
1 − 𝑝̂
with the corresponding estimated variance
̂ {logit (𝑝)} 1 1
Var ̂ = +
𝑛𝑝̂ 𝑛 − 𝑛𝑝̂
This transformation allows aggregating the proportions in a metric that is closer to normality and
guarantees that the back-transformed CI limits (computed using the invlogit() function) are between
0 and 1 (inclusive). Because the expression of the variance depends on 𝑝,̂ meta-analysis of this effect
size tends to assign artificially low weights for studies with 𝑝̂ close to 0 or 1. In this case, the variances
for such studies are large, and the study weights, which are the inverse variances, will be low.
meta esize — Compute effect sizes and declare meta-analysis data 111
When a study reports a zero cell (zero successes or zero failures), the variance of 𝑝̂ is equal to 0, and
the variance of logit (𝑝)̂ is not defined. In this case, it is customary to add a small value, often referred
to as “continuity correction”, to each cell prior to computing the proportion or the logit-transformed
proportion.
By default, meta esize adds 0.5 to each cell of studies containing zero cells (Gart and Zweifel 1967
and Gart, Pettigrew, and Thomas 1985). In other words, for a study reporting zero cells, the number of
successes, 𝑒, will be incremented by 0.5, the number of failures will be incremented by 0.5, and therefore,
the total sample size, 𝑛, will increase by 1.
Alternatively, you can add a different number or add a number to each cell of all studies, as long as
there is at least one study with zero cells; see option zerocells().
The estimate of the correlation parameter 𝜌 is the sample correlation, denoted by 𝑟. The estimated
variance of 𝑟 is given by
2 2
̂ (𝑟) = (1 − 𝑟 )
Var
𝑛−1
When you deal with the sample correlation, it is well known that the large-sample theory does not
hold up well for small sample sizes, particularly when 𝑟 is close to 1 or −1. In contrast, large-sample
theory of the Fisher 𝑧-transformed correlation often yields reliable results with sample sizes of 20 or
more (Hedges 2019). Therefore, it is generally recommended to apply the Fisher’s 𝑧-transformation for
analyses where correlations are used as the measure of effect size.
When the fisherz option is specified, meta esize computes the Fisher’s 𝑧-transformed correlations
and uses them as effect sizes in the meta-analysis. The Fisher’s 𝑧-transformed correlation is given by
1 1+𝑟
𝑓𝑧 = log ( ) = atanh(𝑟)
2 1−𝑟
where atanh( ⋅ ) is the inverse hyperbolic tangent function. The corresponding estimated variance is
̂ (𝑓𝑧 ) = 1
Var
𝑛−3
This is a variance-stabilizing transformation (variance does not depend on 𝑟) and is particularly preferable
when 𝑟 is close to −1 or 1.
meta esize — Compute effect sizes and declare meta-analysis data 112
where 𝑧1−𝛼/2 is the usual critical value from the standard normal distribution.
References
Barendregt, J. J., S. A. Doi, Y. Y. Lee, R. E. Norman, and T. Vos. 2013. Meta-analysis of prevalence. Journal of Epidemi-
ology and Community Health 67: 974–978. [Link]
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
Borenstein, M. 2009. “Effect sizes for continuous data”. In The Handbook of Research Synthesis and Meta-Analysis, edited
by H. Cooper, L. V. Hedges, and J. C. Valentine, 221–235. 2nd ed. New York: Russell Sage Foundation.
Borenstein, M., and L. V. Hedges. 2019. “Effect sizes for meta-analysis”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 207–243. 3rd ed. New York: Russell Sage
Foundation.
Bradburn, M. J., J. J. Deeks, J. A. Berlin, and A. R. Localio. 2007. Much ado about nothing: A comparison of the
performance of meta-analytical methods with rare events. Statistics in Medicine 26: 53–77. [Link]
sim.2528.
Cohen, J. 1969. Statistical Power Analysis for the Behavioral Sciences. New York: Academic Press.
———. 1988. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Erlbaum.
DerSimonian, R., and N. M. Laird. 1986. Meta-analysis in clinical trials. Controlled Clinical Trials 7: 177–188. https:
//[Link]/10.1016/0197-2456(86)90046-2.
Fleiss, J. L. 1993. Review papers: The statistical basis of meta-analysis. Statistical Methods in Medical Research 2:
121–145. [Link]
Fleiss, J. L., B. Levin, and M. C. Paik. 2003. Statistical Methods for Rates and Proportions. 3rd ed. New York: Wiley.
[Link]
Freeman, M. F., and J. W. Tukey. 1950. Transformations related to the angular and the square root. Annals of Mathematical
Statistics 21: 607–611. [Link]
Gart, J. J., H. M. Pettigrew, and D. G. Thomas. 1985. The effect of bias, variance estimation, skewness and kurtosis of
the empirical logit on weighted least squares analyses. Biometrika 72: 179–190. [Link]
Gart, J. J., and J. R. Zweifel. 1967. On the bias of various estimators of the logit and its variance with application to
quantal bioassay. Biometrika 54: 181–187. [Link]
Hardy, R. J., and S. G. Thompson. 1996. A likelihood approach to meta-analysis with random effects. Statistics in Medicine
15: 619–629. [Link]
Hedges, L. V. 1981. Distribution theory for Glass’s estimator of effect size and related estimators. Journal of Educational
Statistics 6: 107–128. [Link]
———. 1983. A random effects model for effect sizes. Psychological Bulletin 93: 388–395. [Link]
2909.93.2.388.
———. 2019. “Statistical considerations”. In The Handbook of Research Synthesis and Meta-Analysis, edited by
H. Cooper, L. V. Hedges, and J. C. Valentine, 37–48. 3rd ed. New York: Russell Sage Foundation.
Hedges, L. V., and I. Olkin. 1985. Statistical Methods for Meta-Analysis. Orlando, FL: Academic Press.
Kline, R. B. 2013. Beyond Significance Testing: Statistics Reform in the Behavioral Sciences. 2nd ed. Washington, DC:
American Psychological Association.
meta esize — Compute effect sizes and declare meta-analysis data 113
Nyaga, V. N., M. Arbyn, and M. Aerts. 2014. Metaprop: A Stata command to perform meta-analysis of binomial data.
Archives of Public Health 72. [Link]
Paule, R. C., and J. Mandel. 1982. Consensus values and weighting factors. Journal of Research of the National Bureau of
Standards 87: 377–385. [Link]
Peto, R., M. C. Pike, P. Armitage, N. E. Breslow, D. R. Cox, S. V. Howard, N. Mantel, K. McPherson, J. Peto, and P. G.
Smith. 1977. Design and analysis of randomized clinical trials requiring prolonged observation of each patient. II.
Analysis and examples. British Journal of Cancer 35: 1–39. [Link]
Raudenbush, S. W. 2009. “Analyzing effect sizes: Random-effects models”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 295–316. 2nd ed. New York: Russell Sage
Foundation.
Schmidt, F. L., and J. E. Hunter. 2015. Methods of Meta-Analysis: Correcting Error and Bias in Research Findings. 3rd ed.
Thousand Oaks, CA: Sage. [Link]
Sidik, K., and J. N. Jonkman. 2005. A note on variance estimation in random effects meta-regression. Journal of Biophar-
maceutical Statistics 15: 823–838. [Link]
Smith, M. L., and G. V. Glass. 1977. Meta-analysis of psychotherapy outcome studies. American Psychologist 32:
752–760. [Link]
Sweeting, M. J., A. J. Sutton, and P. C. Lambert. 2004. What to add to nothing? Use and avoidance of continuity correc-
tions in meta-analysis of sparse data. Statistics in Medicine 23: 1351–1375. [Link]
Veroniki, A. A., D. Jackson, W. Viechtbauer, R. Bender, J. Bowden, G. Knapp, O. Kuss, J. P. T. Higgins, D. Langan,
and G. Salanti. 2016. Methods to estimate the between-study variance and its uncertainty in meta-analysis. Research
Synthesis Methods 7: 55–79. [Link]
Yusuf, S., R. Peto, J. A. Lewis, R. Collins, and P. Sleight. 1985. Beta blockade during and after myocardial infarction: An
overview of the randomized trials. Progress in Cardiovascular Diseases 27: 335–371. [Link]
0620(85)80003-7.
Also see
[META] meta data — Declare meta-analysis data
[META] meta set — Declare meta-analysis data using generic effect sizes
[META] meta update — Update, describe, and clear meta-analysis settings
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[R] esize — Effect size based on mean comparison
meta set — Declare meta-analysis data using generic effect sizes
Description
meta set declares the data in memory to be meta data, informing Stata of key variables and their
roles in a meta-analysis. It is used with generic (precomputed) effect sizes specified in the metric closest
to normality; see [META] meta esize if you need to compute and declare effect sizes. You must use meta
set or meta esize to perform univariate meta-analysis using the meta command; see [META] meta
data.
If you need to update some of the meta settings after the data declaration, see [META] meta update.
To display current meta settings, use meta query; see [META] meta update.
Quick start
Declare generic effect sizes and their standard errors from individual studies stored in variables es and
se
meta set es se
Same as above, but request a random-effects meta-analysis where between-study heterogeneity is esti-
mated using the DerSimonian–Laird method instead of the default REML method
meta set es se, random(dlaird)
Specify a common-effect meta-analysis, study labels stored in a string variable studylab, and label
effect sizes as log(HR) in the output
meta set es se, common studylabel(studylab) eslabel(”log(HR)”)
Use 90% confidence level, and suppress the display of meta settings for all subsequent meta-analysis
commands
meta set es se, level(90) nometashow
Specify study sizes stored in variable ssize
meta set es se, studysize(ssize)
Declare generic effect sizes, and compute their standard errors based on the specified 90% CI variables,
cil and ciu
meta set es cil ciu, civarlevel(90)
Menu
Statistics > Meta-analysis
114
meta set — Declare meta-analysis data using generic effect sizes 115
Syntax
Specify generic effect sizes and their standard errors
meta set esvar sevar [ if ] [ in ] [ , options ]
esvar specifies a variable containing the effect sizes, sevar specifies a variable containing standard er-
rors of the effect sizes, and cilvar and ciuvar specify variables containing the respective lower and upper
bounds of (symmetric) confidence intervals for the effect sizes. esvar and the other variables must corre-
spond to effect sizes specified in the metric closest to normality, such as log odds-ratios instead of odds
ratios.
options Description
Model
random[ (remethod ) ] random-effects meta-analysis; default is random(reml)
common common-effect meta-analysis; implies inverse-variance method
fixed fixed-effects meta-analysis; implies inverse-variance method
Options
studylabel(varname) variable to be used to label studies in all meta-analysis output
studysize(varname) total sample size per study
eslabel(string ) effect-size label to be used in all meta-analysis output; default is
eslabel(Effect size)
level(#) confidence level for all subsequent meta-analysis commands
[ no ]metashow display or suppress meta settings with other meta commands
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
meta set — Declare meta-analysis data using generic effect sizes 116
Options
Main
civarlevel(#) is relevant only when you specify CI variables cilvar and ciuvar with meta set. It
specifies the confidence level corresponding to these variables. The default is civarlevel(95).
This option affects the computation of the effect-size standard errors stored in the system variable
meta se.
Do not confuse civarlevel() with level(). The former affects the confidence level only for the
specified CI variables. The latter specifies the confidence level for the meta-analysis.
civartolerance(#) is relevant only when you specify CI variables cilvar and ciuvar with meta set.
cilvar and ciuvar must define a symmetric CI based on the normal distribution. civartolerance()
specifies the tolerance to check whether the CI is symmetric. The default is civartolerance(1e-6).
Symmetry is declared when reldif(ciuvar − esvar,esvar − cilvar) < #.
meta set expects the effect sizes and CIs to be specified in the metric closest to normality, which
implies symmetric CIs. Effect sizes and their CIs are often reported in the original metric and with
limited precision that, after the normalizing transformation, may lead to asymmetric CIs. In that case,
the default of 1e–6 may be too stringent. You may use civartolerance() to loosen the default.
Model
Options random(), common, and fixed declare the meta-analysis model globally throughout the entire
meta-analysis; see Declaring a meta-analysis model in [META] meta data. In other words, once you
set your meta-analysis model using meta set, all subsequent meta commands will assume that same
model. You can update the declared model by using meta update or change it temporarily by specifying
the corresponding option with the meta commands. Options random(), common, and fixed may not
be combined. If these options are omitted, random(reml) is assumed; see Default meta-analysis model
and method in [META] meta data. Also see Meta-analysis models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis; see
Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). Below, we provide a short description for each method based on Veroniki et al.
(2016). Also see Declaring a meta-analysis estimation method in [META] meta data.
reml, the default, specifies that the REML method (Raudenbush 2009) be used to estimate 𝜏 2 .
This method produces an unbiased, nonnegative estimate of the between-study variance and is
commonly used in practice. Method reml requires iteration.
mle specifies that the ML method (Hardy and Thompson 1996) be used to estimate 𝜏 2 . It produces
a nonnegative estimate of the between-study variance. With a few studies or small studies, this
method may produce biased estimates. With many studies, the ML method is more efficient
than the REML method. Method mle requires iteration.
ebayes specifies that the empirical Bayes estimator (Berkey et al. 1995 ), also known as the
Paule–Mandel estimator (Paule and Mandel 1982), be used to estimate 𝜏 2 . From simulations,
this method, in general, tends to be less biased than other random-effects methods, but it is also
less efficient than reml or dlaird. Method ebayes produces a nonnegative estimate of 𝜏 2 and
requires iteration.
meta set — Declare meta-analysis data using generic effect sizes 117
dlaird specifies that the DerSimonian–Laird method (DerSimonian and Laird 1986) be used to
estimate 𝜏 2 . This method, historically, is one of the most popular estimation methods because
it does not make any assumptions about the distribution of random effects and does not require
iteration. But it may underestimate the true between-study variance, especially when the vari-
ability is large and the number of studies is small. This method may produce a negative value
of 𝜏 2 and is thus truncated at zero in that case.
sjonkman specifies that the Sidik–Jonkman method (Sidik and Jonkman 2005) be used to estimate
𝜏 2 . This method always produces a nonnegative estimate of the between-study variance and
thus does not need truncating at 0, unlike the other noniterative methods. Method sjonkman
does not require iteration.
hedges specifies that the Hedges method (Hedges 1983) be used to estimate 𝜏 2 . When the sam-
pling variances of effect-size estimates can be estimated without bias, this estimator is exactly
unbiased (before truncation), but it is not widely used in practice (Veroniki et al. 2016 ). Method
hedges does not require iteration.
hschmidt specifies that the Hunter–Schmidt method (Schmidt and Hunter 2015) be used to es-
timate 𝜏 2 . Although this estimator achieves a lower MSE than other methods, except ML, it is
known to be negatively biased. Method hschmidt does not require iteration.
common specifies that a common-effect model be assumed for meta-analysis; see Common-effect (“fixed-
effect”) model in [META] Intro. It uses the inverse-variance estimation method; see Meta-analysis
estimation methods in [META] Intro. Also see the discussion in [META] meta data about common-
effect versus fixed-effects models.
fixed specifies that a fixed-effects model be assumed for meta-analysis; see Fixed-effects model in
[META] Intro. It uses the inverse-variance estimation method; see Meta-analysis estimation methods
in [META] Intro. Also see the discussion in [META] meta data about fixed-effects versus common-
effect models.
Options
studylabel(varname) specifies a string variable containing labels for the individual studies to be used
in all applicable meta-analysis output. The default study labels are Study 1, Study 2, . . . , Study 𝐾,
where 𝐾 is the total number of studies in the meta-analysis.
studysize(varname) specifies the variable that contains the total sample size for each study. This
option is useful for subsequent meta commands that use this information in computations such as
meta funnelplot using the sample-size metric.
eslabel(string ) specifies that string be used as the effect-size label in all relevant meta-analysis output.
The default label is Effect size.
level(#) specifies the confidence level, as a percentage, for confidence intervals. It will be used
by all subsequent meta-analysis commands when computing confidence intervals. The default is
level(95) or as set by set level; see [R] level. After the declaration, you can specify level()
with meta update to update the confidence level to be used throughout the rest of the meta-analysis
session. You can also specify level() directly with the meta commands to modify the confidence
level, temporarily, during the execution of the command.
metashow and nometashow display or suppress the meta setting information in the output of other meta
commands. By default, this information is displayed at the top of their output. You can also spec-
ify nometashow with meta update to suppress the meta setting output for the entire meta-analysis
session after the declaration.
meta set — Declare meta-analysis data using generic effect sizes 118
Overview
When you perform meta-analysis, it is common for studies included in the meta-analysis to contain
precalculated effect sizes, which we refer to as generic effect sizes, such as mean differences, odds ratios,
correlations, and hazard ratios. You can use meta set to declare the generic effect sizes specified in the
metric closest to normality. (If you have summary data from which effect sizes can be computed, use
[META] meta esize instead.)
In addition to effect sizes, their standard errors must be available for meta-analysis. Sometimes, the
standard errors are not available, but the confidence intervals (CIs) are. In that case, the standard errors
can be computed from the effect-size estimates and CIs. meta set supports both cases. You can supply
the variables containing effect sizes and their standard errors, or, instead of the standard errors, you can
specify the variables containing the CIs.
When you specify the CI variables, you can specify their corresponding confidence level in the
civarlevel() option. (Do not confuse this option with the level() option. The former corresponds to
the specified CI variables, whereas the latter specifies the confidence level for the entire meta-analysis.)
Meta-analysis uses effect sizes in a metric that makes them approximately normally distributed such
as log odds-ratios instead of odds ratios and log hazard-ratios instead of hazard ratios. As such, meta set
expects the effect sizes and measures of their precision to be specified in the metric closest to normality.
So, the corresponding standard errors or CIs should be provided in the same metric as effect sizes. For
example, if you are working with hazard ratios, you should specify log hazard-ratios with meta set and
provide CIs for the log hazard-ratios and not the hazard ratios.
See [META] meta data for more details.
meta set — Declare meta-analysis data using generic effect sizes 119
Sorted by:
We will use it to describe various usages of the meta set command. For examples of declarations of
real datasets, see [META] meta data. We assume that es contains the effect sizes that are approximately
normal (perhaps after a suitable transformation) and that se, cil, and ciu contain their corresponding
standard errors and CIs.
. meta set es se
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: es
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
Briefly, meta set reports that there are 10 studies, that es and se are the variables used to declare effect
sizes and their standard errors, that the default confidence level is 95%, and more. See Meta settings
with meta set in [META] meta data for a detailed description of all settings for this dataset.
We can now use, for example, meta summarize to compute the overall effect size (labeled as theta
in the output below).
. meta summarize
Effect-size label: Effect size
Effect size: es
Std. err.: se
Meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0157
I2 (%) = 5.30
H2 = 1.06
Compared with Std. err.: in example 1, Std. err.: under Precision now contains the system
variable meta se; see System variables in [META] meta data. The standard errors are computed from
cil and ciu and stored in this system variable. The CI values are stored in the corresponding system
variables meta cil and meta ciu.
The output additionally reports the user-specified CI variables, cil and ciu, under User CI: and their
corresponding confidence level, 95%, under User CI level:. As we will see later, User CI level, con-
trolled by the civarlevel() option, and CI level, controlled by the level() option, may be different.
meta set — Declare meta-analysis data using generic effect sizes 122
Let’s now check that we obtain the same results as before using the equivalent CI declaration.
. meta summarize
Effect-size label: Effect size
Effect size: es
Std. err.: _meta_se
Meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0157
I2 (%) = 5.30
H2 = 1.06
In the earlier meta set, we assumed that the cil and ciu variables correspond to the 95% CIs. Al-
though typical, this may not always be the case. You can use the civarlevel() option to specify the
confidence level of the CI variables. We have variables cil90 and ciu90 in our dataset, which contain
the 90% CIs for es. We can use them in the declaration as long as we also specify the civarlevel(90)
option.
. meta set es cil90 ciu90, civarlevel(90)
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: es
Precision
Std. err.: _meta_se
CI: [_meta_cil, _meta_ciu]
CI level: 95%, controlled by level()
User CI: [cil90, ciu90]
User CI level: 90%, controlled by civarlevel()
Model and method
Model: Random effects
Method: REML
meta set — Declare meta-analysis data using generic effect sizes 123
The User CI level now contains 90%. Do not confuse the civarlevel() option, whose value is re-
ported in User CI level, with the level() option, whose value is reported in CI level. The former
specifies the confidence level corresponding to the declared CI variables. The latter specifies the confi-
dence level that will be used to compute various confidence intervals during your meta-analysis session.
Note that the system CI variables, meta cil and meta ciu, always correspond to the confidence
level controlled by level().
. meta summarize
Effect-size label: Effect size
Effect size: es
Std. err.: _meta_se
Meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0157
I2 (%) = 5.30
H2 = 1.06
Although the specified CI variables corresponded to the 90% confidence level, the CIs reported by meta
summarize are the 95% CIs because the default confidence level is 95%, level(95).
Technical note
As we mentioned earlier, meta set expects the effect sizes and measures of their precision such as
CIs to be specified in the metric closest to normality, which implies symmetric CIs. When you specify CIs
with meta set, the command checks that the CIs are symmetric within a certain tolerance. The default
tolerance is 1e–6.
In practice, effect sizes and their CIs are often reported in the original metric and with limited precision
that, after the normalizing transformation, may lead to asymmetric CIs. In that case, the default of 1e–6
may be too stringent. You may loosen the tolerance by specifying the civartolerance() option.
meta set — Declare meta-analysis data using generic effect sizes 124
meta set reports in Method: that the current method is now DerSimonian–Laird.
We can also choose a different meta-analysis model. For example, we can specify a fixed-effects
model by using the fixed option.
. meta set es se, fixed
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: es
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Fixed effects
Method: Inverse-variance
We can also specify a common-effect model, although the literature does not recommend starting your
meta-analysis with this model.
. meta set es se, common
Meta-analysis setting information
Study information
No. of studies: 10
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: es
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Common effect
Method: Inverse-variance
Example 4: Specifying study and effect-size labels, confidence level, and more
In Declaring display settings for meta-analysis of [META] meta data, we describe the options to
control the display from the meta commands. Below, we use studylabel() and eslabel() to specify
our own study and effect-size labels, level(90) to report the 90% CIs, and nometashow to suppress
the information about the effect-size variables and standard error variables in the output of all meta
commands.
meta set — Declare meta-analysis data using generic effect sizes 126
If we now run meta summarize, we will see the new labels for the studies in the Study column, the
effect-size column labeled as Mean diff., the 90% CIs, and no meta setting information above the table
header.
. meta summarize
Meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0157
I2 (%) = 5.30
H2 = 1.06
The name of the study-size variable, ssize, is now reported in Study size:.
Stored results
meta set stores the following characteristics and system variables:
Characteristics
dta[ meta marker] “ meta ds 1”
dta[ meta K] number of studies in the meta-analysis
dta[ meta studylabel] name of string variable containing study labels or Generic
dta[ meta studysize] name of numeric variable containing study sizes, when
studysize() specified
dta[ meta estype] type of effect size; Generic
dta[ meta eslabelopt] eslabel(eslab), if specified
dta[ meta eslabel] effect-size label from eslabel(); default is Effect size
dta[ meta eslabeldb] effect-size label for dialog box
dta[ meta esvar] name of effect-size variable
dta[ meta esvardb] abbreviated name of effect-size variable for dialog box
dta[ meta sevar] name of standard-error variable, if specified, or meta se
dta[ meta cilvar] name of variable containing lower CI bounds, if specified, or
meta cil
dta[ meta ciuvar] name of variable containing upper CI bounds, if specified, or
meta ciu
dta[ meta civarlevel] confidence level associated with CI variables, if specified
dta[ meta civartol] tolerance for checking CI symmetry; default is 1e-6
dta[ meta level] default confidence level for meta-analysis
dta[ meta modellabel] meta-analysis model label: Random effects, Common effect, or
Fixed effects
dta[ meta model] meta-analysis model: random, common, or fixed
dta[ meta methodlabel] meta-analysis method label; varies by meta-analysis model
dta[ meta method] meta-analysis method; varies by meta-analysis model
dta[ meta randomopt] random(remethod), if specified
dta[ meta show] empty or nometashow
meta set — Declare meta-analysis data using generic effect sizes 128
References
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
DerSimonian, R., and N. M. Laird. 1986. Meta-analysis in clinical trials. Controlled Clinical Trials 7: 177–188. https:
//[Link]/10.1016/0197-2456(86)90046-2.
Hardy, R. J., and S. G. Thompson. 1996. A likelihood approach to meta-analysis with random effects. Statistics in Medicine
15: 619–629. [Link]
Hedges, L. V. 1983. A random effects model for effect sizes. Psychological Bulletin 93: 388–395. [Link]
0033-2909.93.2.388.
Paule, R. C., and J. Mandel. 1982. Consensus values and weighting factors. Journal of Research of the National Bureau of
Standards 87: 377–385. [Link]
Raudenbush, S. W. 2009. “Analyzing effect sizes: Random-effects models”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 295–316. 2nd ed. New York: Russell Sage
Foundation.
Schmidt, F. L., and J. E. Hunter. 2015. Methods of Meta-Analysis: Correcting Error and Bias in Research Findings. 3rd ed.
Thousand Oaks, CA: Sage. [Link]
Sidik, K., and J. N. Jonkman. 2005. A note on variance estimation in random effects meta-regression. Journal of Biophar-
maceutical Statistics 15: 823–838. [Link]
Veroniki, A. A., D. Jackson, W. Viechtbauer, R. Bender, J. Bowden, G. Knapp, O. Kuss, J. P. T. Higgins, D. Langan,
and G. Salanti. 2016. Methods to estimate the between-study variance and its uncertainty in meta-analysis. Research
Synthesis Methods 7: 55–79. [Link]
Also see
[META] meta data — Declare meta-analysis data
[META] meta esize — Compute effect sizes and declare meta-analysis data
[META] meta update — Update, describe, and clear meta-analysis settings
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta update — Update, describe, and clear meta-analysis settings
Description
meta update updates certain components of the meta-analysis after it was declared by meta set or
meta esize. This command is useful for updating some of the meta settings without having to fully
respecify your meta-analysis variables. The updated settings will be used throughout the rest of your
meta-analysis session.
meta query reports whether the data in memory are meta data and, if they are, displays the current
meta setting information identical to that produced by meta set or meta esize.
meta clear clears meta settings, including meta data characteristics and system variables. The origi-
nal data remain unchanged. You do not need to use meta clear before doing another meta set or meta
esize.
Quick start
Check whether data are declared as meta data, and, if they are, describe their current meta-analysis setting
information
meta query
Keep the same meta-analysis setting (specified earlier using meta set or meta esize), but use a DerSi-
monian–Laird random-effects model
meta update, random(dlaird)
Keep the same meta-analysis setting (specified earlier using meta esize), but use the log risk-ratio as
the effect size
meta update, esize(lnrratio)
Clear meta-analysis declaration
meta clear
Menu
Statistics > Meta-analysis
129
meta update — Update, describe, and clear meta-analysis settings 130
Syntax
Update meta-analysis settings declared using meta esize for two-group comparison of continuous out-
comes
meta update [ , options continuous options ]
Update meta-analysis settings declared using meta esize for two-group comparison of binary outcomes
meta update [ , options binary options ]
Update meta-analysis settings declared using meta esize for estimating a single proportion
meta update [ , options proportion options ]
options Description
studylabel(varname) variable to be used to label studies in all meta-analysis output
eslabel(string ) effect-size label to be used in all meta-analysis output; default is
eslabel(Effect size)
level(#) confidence level for all subsequent meta-analysis commands
[ no ]metashow display or suppress meta settings in the output
Options
For meta update options, see Options of [META] meta set and Options of [META] meta esize.
short is used with meta query. It displays a short summary of the meta settings containing the infor-
mation about the declared type of the effect size, effect-size variables and standard error variables,
and meta-analysis model and estimation method. This option does not appear in the dialog box.
Instead, you can use meta update to simply update the effect sizes.
. meta update, esize(lnrratio)
meta update will run meta esize keeping all the model components unchanged except for those
you specified.
meta update — Update, describe, and clear meta-analysis settings 132
You can use meta query to describe the current meta-analysis settings. With meta data in memory,
meta query produces the same output as meta set and meta esize. If the data in memory are not
declared to be meta data, meta query will report the following:
. meta query
(data not meta set; use meta set or meta esize to declare as meta data)
Stored results
meta update updates characteristics and contents of system variables described in Stored results of
[META] meta set and Stored results of [META] meta esize.
Also see
[META] meta data — Declare meta-analysis data
[META] meta esize — Compute effect sizes and declare meta-analysis data
[META] meta set — Declare meta-analysis data using generic effect sizes
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta forestplot — Forest plots
Description
meta forestplot summarizes meta data in a graphical format. It reports individual effect sizes
and the overall effect size (ES), their confidence intervals (CIs), heterogeneity statistics, and more.
meta forestplot can perform random-effects (RE), common-effect (CE), and fixed-effects (FE) meta-
analyses. It can also perform subgroup, cumulative, and sensitivity meta-analyses. For tabular display
of meta-analysis summaries, see [META] meta summarize.
Quick start
Default forest plot after data are declared by using either meta set or meta esize
meta forestplot
Same as above, but apply the hyperbolic tangent transformation to effect sizes and their CIs
meta forestplot, transform(tanh)
Add vertical lines at the overall effect-size and no-effect values
meta forestplot, esrefline nullrefline
Customize the overall effect-size line, and annotate the sides of the plot, with respect to the no-effect
line, favoring the treatment or control
meta forestplot, esrefline(lcolor(green)) ///
nullrefline(favorsleft(”Favors vaccine”) ///
favorsright(”Favors control”))
Add a custom diamond with a label for the overall effect-size ML estimate by specifying its value and CI
limits
meta forestplot, customoverall(-.71 -1.05 -.37, label(”{bf:ML Overall}”))
Forest plot based on subgroup meta-analysis
meta forestplot, subgroup(groupvar)
Forest plot based on cumulative meta-analysis
meta forestplot, cumulative(ordervar)
Forest plot based on leave-one-out meta-analysis
meta forestplot, leaveoneout
Default forest plot after data are declared with meta set but with the columns spelled out
meta forestplot _id _plot _esci _weight
Default forest plot after data are declared with meta esize but with the columns spelled out
meta forestplot _id _data _plot _esci _weight
133
meta forestplot — Forest plots 134
Menu
Statistics > Meta-analysis
Syntax
meta forestplot [ column list ] [ if ] [ in ] [ , options ]
column list is a list of column names given by col. In the Meta-Analysis Control Panel, the columns can
be specified on the Forest plot tab of the Forest plot pane.
meta forestplot — Forest plots 135
options Description
Main
random[ (remethod) ] random-effects meta-analysis
common[ (cefemethod) ] common-effect meta-analysis
fixed[ (cefemethod) ] fixed-effects meta-analysis
reopts random-effects model options
subgroup(varlist ) subgroup meta-analysis for each variable in varlist
cumulative(cumulspec) cumulative meta-analysis
leaveoneout leave-one-out meta-analysis
Options
level(#) set confidence level; default is as declared for meta-analysis
citype(citype) specify the type of study CI (for meta-analysis of a single
proportion)
proportion report proportions (for meta-analysis of a single proportion)
prevalence synonym for proportion but labels the effect sizes
as Prevalence in the output
+
correlation report correlations (for meta-analysis of correlations)
eform option report exponentiated results
transform(transfspec) report transformed results
sort(varlist[ , ... ]) sort studies according to varlist
tdistribution report 𝑡 test instead of 𝑧 test
[ no ]metashow display or suppress meta settings in the output
Maximization
maximize options control the maximization process; seldom used
Forest plot
columnopts(col, [ colopts ]) column options; can be repeated
cibind(bind) change binding of CIs for columns esci and ci;
default is cibind(brackets)
sebind(bind) change binding of standard errors for column esse;
default is sebind(parentheses)
nohrule suppress horizontal rule
hruleopts(hrule options) change look of horizontal rule
text options change looks of text options such as column titles, supertitles,
and more
plot options change look or suppress markers, restrict range of CIs, and more
test options suppress information about heterogeneity statistics and tests
graph options change the lines, labels, ticks, titles, scheme, etc. on the forest plot
nooverall suppress row corresponding to the overall effect size
olabel(string ) modify default overall effect-size label under the id column;
default label is Overall
col Description
Default columns and order
id study label
data summary data; data1 and data2 for two-group comparisons
of continuous and binary outcomes (only after meta esize)
plot forest graph
esci effect size and its confidence interval
weight percentage of total weight given to each study
Summary-data columns and order
Two-sample continuous data
Treatment group
data1 summary data for treatment group; n1, mean1, and sd1
n1 sample size in the treatment group
mean1 mean in the treatment group
sd1 standard deviation in the treatment group
Control group
data2 summary data for control group; n2, mean2, and sd2
n2 sample size in the control group
mean2 mean in the control group
sd2 standard deviation in the control group
Two-sample binary data
Treatment group
data1 summary data for treatment group; a and b
a number of successes in the treatment group
b number of failures in the treatment group
Control group
data2 summary data for control group; c and d
c number of successes in the control group
d number of failures in the control group
One-sample binary data
data summary data; e and n
e number of successes
n study sample size
Correlation data
data summary data; r and n
r correlation
n study sample size
meta forestplot — Forest plots 137
Other columns
es effect size
ci confidence interval for effect size
lb lower confidence limit for effect size
ub upper confidence limit for effect size
se standard error of effect size
esse effect size and its standard error
pvalue 𝑝-value for significance test with subgroup(), cumulative(),
or leaveoneout
K number of studies with subgroup()
size within-group sample size with subgroup()
order order variable for cumulative meta-analysis with cumulative()
varname variable in the dataset (except meta system variables)
Columns data, data1, data2, and the other corresponding data columns are not available after the declaration by using
meta set.
Columns n1, mean1, sd1, n2, mean2, and sd2 are available only after the declaration by using meta esize for a
two-group comparison of continuous outcomes.
Columns a, b, c, and d are available only after the declaration by using meta esize for a two-group comparison of
binary outcomes.
Columns e and n are available only after the declaration by using meta esize for estimating a single proportion.
Columns r and n are available only after the declaration by using meta esize for correlation data.
Column pvalue is available only when option subgroup() with multiple variables is specified or when cumulative() or
leaveoneout is specified.
Columns K and size are available only when option subgroup() with multiple variables is specified.
Column varname is not available when option subgroup() with multiple variables is specified.
colopts Description
supertitle(string ) super title specification
title(string ) title specification
format(% fmt ) numerical format for column items
mask(mask) string mask for column items
plotregion(region options) attributes of plot region
textbox options appearance of textboxes
nullopts Description
favorsleft(string[ , textbox options ])
add a label to the left of the no-effect reference line
favorsright(string[ , textbox options ])
add a label to the right of the no-effect reference line
line options affect the rendition of the no-effect reference line
Options
Main
Maximization
columnopts(col [ , colopts ]) changes the look of the column identified by col. This option can be
repeated.
colopts are the following options:
supertitle(string ) specifies that the column’s supertitle is string.
title(string ) specifies that the column’s title is string.
format(% fmt ) specifies the format for the column’s numerical values.
mask(mask) specifies a string composed of formats for the column’s statistics. For example,
mask for column weight that identifies the column of weight percentages may be specified
as ”%6.2f %%”.
plotregion(region options) modifies attributes for the plot region. You can change the mar-
gins, background color, an outline, and so on; see [G-3] region options.
textbox options affect how the column’s items (study and group) are rendered. These options
override what is specified in global options bodyopts(), itemopts(), and groupopts().
See [G-3] textbox options.
Options format(), mask(), and textbox options are ignored by plot.
cibind(bind) changes the binding of the CIs for columns esci and ci. bind is one of brackets,
parentheses, or none. By default, the CIs are bound by using brackets, cibind(brackets). This
option is relevant only when esci or ci appears in the plot.
sebind(bind) changes the binding of the standard errors for column esse. bind is one of
parentheses, brackets, or none. By default, the standard errors are bound by using parentheses,
cibind(parentheses). This option is relevant only when esse appears in the plot.
nohrule suppresses the horizontal rule.
hruleopts(hrule options) affects the look of the horizontal rule.
hrule options are the following options:
lcolor(colorstyle) specifies the color of the rule; see [G-4] colorstyle.
lwidth(linewidthstyle) specifies the width of the rule; see [G-4] linewidthstyle.
lalign(linealignmentstyle) specifies the alignment of the rule; see [G-4] linealignmentstyle.
lpattern(linepatternstyle) specifies the line pattern of the rule; see [G-4] linepatternstyle.
lstyle(linestyle) specifies the overall style of the rule; see [G-4] linestyle.
margin(marginstyle) specifies the margin of the rule; see [G-4] marginstyle.
text options are the following options:
coltitleopts(textbox options) affects the look of text for column titles and supertitles. See
[G-3] textbox options.
meta forestplot — Forest plots 141
itemopts(textbox options) affects the look of text for study rows; see [G-3] textbox options. This
option is ignored when option subgroup() is specified and contains multiple variables or when
option cumulative() or leaveoneout is specified.
overallopts(textbox options) affects the look of text for the overall row.
See [G-3] textbox options.
groupopts(textbox options) (synonym subgroupopts()) affects the look of text for subgroup
rows when option subgroup() is specified. See [G-3] textbox options.
bodyopts(textbox options) affects the look of text for study, subgroup, and overall rows. See
[G-3] textbox options.
nonotes suppresses the notes displayed on the graph about the specified meta-analysis model and
method and the standard error adjustment.
plot options are the following options:
crop(#1 #2 ) restricts the range of the CI lines to be between #1 and #2 . A missing value may be
specified for any of the two values to indicate that the corresponding limit should not be cropped.
Otherwise, lines that extend beyond the specified value range are cropped and adorned with arrows.
This option is useful in the presence of small studies with large standard errors, which lead to
confidence intervals that are too wide to be displayed nicely on the graph. Option crop() may be
used to handle this case.
ciopts(ci options) affects the look of the CI lines and, in the presence of cropped CIs (see option
crop()), arrowheads.
ci options are any options documented in [G-3] line options and the following options of
[G-2] graph twoway pcarrow: mstyle(), msize(), mangle(), barbsize(), mcolor(),
mfcolor(), mlcolor(), mlwidth(), mlstyle(), and color().
nowmarkers suppresses weighting of the study markers.
nomarkers suppresses the study markers.
markeropts(marker options) affects the look of the study markers.
marker options: msymbol(), mcolor(), mfcolor(), mlcolor(), mlwidth(), mlalign(),
mlstyle(), and mstyle(); see [G-3] marker options.
nowmarkers, nomarkers, and markeropts() are ignored when option subgroup() is specified
and contains multiple variables or when option cumulative() or leaveoneout is specified.
noomarker suppresses the overall marker.
omarkeropts(marker options) affects the look of the overall marker.
marker options: mcolor(), mfcolor(), mlcolor(), mlwidth(), mlalign(), mlstyle(), and
mstyle(); see [G-3] marker options.
nogmarkers suppresses the subgroup markers.
gmarkeropts(marker options) affects the look of the subgroup markers.
marker options: mcolor(), mfcolor(), mlcolor(), mlwidth(), mlalign(), mlstyle(), and
mstyle(); see [G-3] marker options.
nogmarkers and gmarkeropts() are ignored when option subgroup() is not specified.
meta forestplot — Forest plots 142
insidemarker and insidemarker(marker options) add markers at the center of study markers.
marker options control how the added markers are rendered.
marker options: msymbol(), mcolor(), mfcolor(), mlcolor(), mlwidth(), mlalign(),
mlstyle(), and mstyle(); see [G-3] marker options.
insidemarker() is not allowed when option subgroup() is specified and contains multiple vari-
ables or when option cumulative() or leaveoneout is specified.
esrefline and esrefline(line options) specify that a vertical line be drawn at the value corre-
sponding to the overall effect size. The optional line options control how the line is rendered; see
[G-3] line options.
noesrefline suppresses the overall effect-size line plotted by default on the leave-one-out forest
plot, which is produced when you specify option leaveoneout.
nullrefline and nullrefline(nullopts) specify that a vertical line be drawn at the value corre-
sponding to no overall effect. nullopts are the following options:
favorsleft(string[ , textbox options ]) adds a label, string, to the left side (with respect to
the no-effect line) of the forest graph. textbox options affect how string is rendered; see
[G-3] textbox options.
favorsright(string[ , textbox options ]) adds a label, string, to the right side (with respect
to the no-effect line) of the forest graph. textbox options affect how string is rendered; see
[G-3] textbox options.
favorsleft() and favorsright() are typically used to annotate the sides of the forest graph
(column plot) favoring the treatment or control.
line options affect the rendition of the vertical line; see [G-3] line options.
customoverall(customspec) draws a custom-defined diamond representing an overall effect size.
This option can be repeated. customspec is #es #lb #ub [ , customopts ], where #es, #lb, and
#ub correspond to an overall effect-size estimate and its lower and upper CI limits, respectively.
customopts are the following options:
label(string ) adds a label, string, under the id column describing the custom diamond.
textbox options affect how label(string) is rendered; see [G-3] textbox options.
marker options affect how the custom diamond is rendered. marker options are mcolor(),
mfcolor(), mlcolor(), mlwidth(), mlalign(), mlstyle(), and mstyle(); see
[G-3] marker options.
Option customoverall() may not be combined with option cumulative() or leaveoneout.
test options are defined below. These options are not relevant with cumulative and leave-one-out meta-
analysis.
ohetstatstext(string ) modifies the default text for the overall heterogeneity statistics reported
under the Overall row heading on the plot.
noohetstats suppresses overall heterogeneity statistics reported under the Overall row heading on
the plot.
ohomtesttext(string ) modifies the default text for the overall homogeneity test labeled as Test of
𝜃𝑖 =𝜃𝑗 under the Overall row heading on the plot.
meta forestplot — Forest plots 143
noohomtest suppresses the overall homogeneity test labeled as Test of 𝜃𝑖 =𝜃𝑗 under the Overall
row heading on the plot.
osigtesttext(string ) modifies the default text of the test of significance of the overall effect size
labeled as Test of 𝜃=0 under the Overall row heading on the plot.
noosigtest suppresses the test of significance of the overall effect size labeled as Test of 𝜃=0 under
the Overall row heading on the plot.
ghetstats#text(string ) modifies the default text for the heterogeneity statistics in the #th sub-
group. These statistics are reported under the group-specific row headings when a single subgroup
analysis is performed, that is, when option subgroup() is specified with one variable.
noghetstats suppresses subgroup heterogeneity statistics reported when a single subgroup analysis
is performed, that is, when option subgroup() is specified with one variable. These statistics are
reported under the group-specific row headings.
gwhomtest#text(string ) modifies the default text for the within-subgroup homogeneity test in the
#th subgroup. This test is reported when a single subgroup analysis is performed, that is, when
option subgroup() is specified with one variable. The test is labeled as Test of 𝜃𝑖 =𝜃𝑗 under the
group-specific row headings.
nogwhomtests suppresses within-subgroup homogeneity tests. These tests investigate the differ-
ences between effect sizes of studies within each subgroup. These tests are reported when a single
subgroup analysis is performed, that is, when option subgroup() is specified with one variable.
The tests are labeled as Test of 𝜃𝑖 =𝜃𝑗 under the group-specific row headings.
gsigtest#text(string ) modifies the default text for the test of significance of the subgroup effect
size labeled as Test of 𝜃=0 in the #th subgroup.
nogsigtests suppresses tests of significance of the subgroup effect size labeled as Test of 𝜃=0
within each subgroup. These tests are reported when a single subgroup analysis is performed, that
is, when option subgroup() is specified with one variable.
gbhomtest#text(string ) modifies the default text for the between-subgroup homogeneity test in
the #th subgroup. The #th between-subgroup homogeneity test corresponds to the #th variable
specified within option subgroup(). The test is labeled as Test of group differences on the
plot.
nogbhomtests suppresses between-subgroup homogeneity tests. These tests investigate the differ-
ences between the subgroup effect sizes reported when any subgroup analysis is performed, that
is, when option subgroup() is specified. The tests are labeled as Test of group differences
on the plot.
graph options: xline(), xtitle(), xlabel(), xtick(), xmlabel(), xmtick(), title(),
subtitle(), note(), caption(), t1title(), t2title(), b1title(), b2title(), l1title(),
l2title(), r1title(), r2title(), scheme(), nodraw, name(), and saving(); see
[G-3] twoway options for details.
The following options are available with meta forestplot but are not shown in the dialog box:
nooverall suppresses the row corresponding to the overall effect size in the forest plot.
olabel(string ) modifies the default overall effect-size label under the id column, which, by default,
is Overall.
meta forestplot — Forest plots 144
Overview
Meta-analysis results are often presented using a forest plot (for example, Lewis and Ellis [1982]).
A forest plot shows effect-size estimates and their confidence intervals for each study and, usually, the
overall effect size from the meta-analysis (for example, Lewis and Clarke [2001]; Harris et al. [2016];
and Fisher 2016). Each study is represented by a square with the size of the square being proportional to
the study weight; that is, larger squares correspond to larger (more precise) studies. The weights depend
on the chosen meta-analysis model and method. Studies’ CIs are plotted as whiskers extending from
each side of the square and spanning the width of the CI. Heterogeneity measures such as the 𝐼 2 and
𝐻 2 statistics, homogeneity test, and the significance test of the overall effect sizes are also commonly
reported.
A subgroup meta-analysis forest plot also shows group-specific results. Additionally, it reports a test
of the between-group differences among the overall effect sizes. A cumulative meta-analysis forest plot
shows the overall effect sizes and their CIs by accumulating the results from adding one study at a time
to each subsequent analysis. Similarly, a leave-one-out meta-analysis forest plot shows the overall effect
sizes and their CIs resulting from meta-analyses omitting one study at a time. By convention, group-
specific and overall effect sizes are represented by diamonds centered on their estimated values with the
diamond width corresponding to the CI length.
For more details about forest plots, see, for instance, Anzures-Cabrera and Higgins (2010). Also see
Schriger et al. (2010) for an overview of their use in practice.
is equivalent to typing
. meta forestplot _id _plot _esci _weight
is equivalent to typing
. meta forestplot _id _K _plot _esci _pvalue, subgroup(varlist )
is equivalent to typing
. meta forestplot _id _plot _esci _pvalue _order, cumulative(varname)
is equivalent to typing
. meta forestplot _id _plot _esci _pvalue, leaveoneout
You can also specify any of the supported columns with meta forestplot, including variables in
your dataset. For example, you may include, say, variables x1 and x2, as columns in the forest plot by
simply specifying them in the column list,
. meta forestplot _id x1 _plot _esci _weight x2
You may sometimes want to show the overall effect-size estimates from multiple meta-analysis
models (for example, common versus random), from different estimation methods (REML versus DL),
or for specific values of moderators from a meta-regression. This may be accomplished via the
customoverall(#es #lb #ub [ ,customopts ]) option. This option may be repeated to display multiple
diamonds depicting multiple custom-defined overall effect sizes.
You can specify many more options to customize the look of your forest plot such as modifying the
look of text for column titles in coltitleopts() or the column format in format(); see Syntax for
details.
meta forestplot uses the following default convention when displaying the results. The results
from individual studies—individual effects sizes—are plotted as blue squares with areas proportional to
study weights. The overall effect size is plotted as a green (or, more precisely, forest green using Stata’s
color convention) diamond with the width corresponding to its CI. The results of a single subgroup anal-
ysis—subgroup effect sizes—are plotted as red diamonds with the widths determined by the respective
CIs. The results of multiple subgroup analyses are plotted as red circles with the CI lines. The cumula-
tive meta-analysis results—cumulative overall effect sizes—are displayed as green circles with CI lines.
Similarly, the leave-one-out meta-analysis results—overall effect size with one study omitted—are also
displayed as green circles with CI lines.
Options itemopts(), nomarkers, and markeropts() control the look of study rows and markers,
which represent individual effect sizes. These options are not relevant when individual studies are not
reported such as with multiple subgroup analysis, cumulative meta-analysis, and leave-one-out meta-
analysis.
Options groupopts(), nogmarkers, and gmarkeropts() control the look of subgroup rows and
markers and are relevant only when subgroup analysis is performed by specifying the subgroup() op-
tion.
Options overallopts(), noomarker, and omarkeropts() control the look of overall rows and
markers, which represent the overall effect sizes. These options are always applicable because the overall
results are always displayed by default. With cumulative and leave-one-out meta-analysis, these options
affect the displayed overall effect sizes.
Graphs created by meta forestplot cannot be combined with other Stata graphs using graph
combine.
Plot columns
meta forestplot supports many columns that you can include in your forest plot; see the list of
supported columns in Syntax. The default columns plotted for various analyses were described in Using
meta forestplot above. Here we provide more details about some of the supported columns.
meta forestplot provides individual columns such as es and se and column shortcuts such as
esse. Column shortcuts are typically shortcuts for specifying multiple columns. For instance, when
dealing with two-group comparison of binary or continuous outcomes, column data is a shortcut for
columns data1 and data2, which themselves are shortcuts to individual summary-data columns.
For a two-group comparison of continuous outcomes, data1 is a shortcut for columns n1, mean1,
and sd1, and data2 is a shortcut for n2, mean2, and sd2. For a two-group comparison of binary
outcomes, data1 corresponds to the treatment-group numbers of successes and failures, a and b, and
data2 to the respective numbers in the control group, c and d. For estimating a single proportion,
the case of one-sample binary data, columns data1 and data2 are not available. In this case, column
data corresponds to columns e and n, which are the number of successes and the study sample
meta forestplot — Forest plots 147
size, respectively. Similarly, for correlation data, column data corresponds to columns r and n,
which are the correlation and the study sample size, respectively. Column data and the corresponding
summary-data columns are available only after declaration by using meta esize.
The other column shortcuts are ci, esci, and esse. In addition to serving as shortcuts to the
respective columns ( lb and ub; es, lb, and ub; and es and se), these shortcut columns have
additional properties. For instance, when you specify ci, the lower and upper CI bounds are separated
with a comma, bounded in brackets, and share a title. That is,
. meta forestplot _ci
is similar to specifying
. meta forestplot _lb _ub,
> columnopts(_lb _ub, title(95% CI))
> columnopts(_lb, mask(”[%6.2f,”))
> columnopts(_ub, mask(”%6.2f]”))
Similarly, esci additionally combines es and ci with the common column title, and esse com-
bines es and se and bounds the standard errors in parentheses. ci, esci, and esse also apply
other properties to improve the default look of the specified columns such as modifying the default col-
umn margins by specifying plotregion(margin()).
If you want to modify the individual columns of the shortcuts, you need to specify the corresponding
column names in columnopts(). For instance, if we want to display the effect sizes of the esci column
with three decimal digits but continue using the default format for CIs, we can type
. meta forestplot _esci, columnopts(_es, format(%6.3f))
both effect sizes and CIs will be displayed with three decimal digits. On the other hand, if we want to
change the default title and supertitle for esci, we should specify esci in columnopts(),
. meta forestplot _esci, columnopts(_esci, supertitle(”My ES”) title(”with my CI”))
Also see example 7 and example 8 for more examples of customizing the default look of columns.
Column plot corresponds to the plot region that contains graphical representation of the effect sizes
and their confidence intervals. You can modify the default look of the plot by specifying the plot options
in Syntax.
Column es corresponds to the plotted effect sizes. For basic meta-analysis, this column displays
the individual and overall effect sizes. For subgroup meta-analysis, it also displays subgroup-specific
overall effect sizes. For cumulative meta-analysis, it displays the overall effect sizes corresponding to the
accumulated studies. For leave-one-out meta-analysis, it displays the overall effect sizes corresponding
to the meta-analyses omitting one study at a time.
Some of the columns such as pvalue, K, size, and order are available only with specific meta-
analyses. pvalue is available only with multiple subgroup analyses, with cumulative analysis, or with
leave-one-out analysis; it displays the 𝑝-values of the significant tests of effect sizes. K is available
with multiple subgroup analyses and displays the number of studies within each subgroup. order is
available only with cumulative meta-analysis; it displays the values of the specified ordering variable.
meta forestplot — Forest plots 148
You may also add variables in your dataset to the forest plot. For instance, if you want to display
variables x1 and x2 in the second and last columns, you may type
. meta forestplot _id x1 _plot _esci _weight x2
Duplicate columns are ignored with meta forestplot. Also, column shortcuts take precedence.
That is, if you specified both es and esci, the latter will be displayed.
By default, the basic forest plot displays the study labels (column id), the summary data ( data),
graphical representation of the individual and overall effect sizes and their CIs ( plot), the corresponding
values of the effect sizes and CIs ( esci), and the percentages of total weight for each study ( weight).
You can also customize the columns on the forest plot; see example 7 and example 12.
In the graph, each study corresponds to a blue square centered at the point estimate of the effect size
with a horizontal line (whiskers) extending on either side of the square. The centers of the squares (the
values of study effect sizes) may be highlighted via the insidemarker() option; see example 10. The
horizontal line depicts the CI. The area of the square is proportional to the corresponding study weight.
The overall effect size corresponds to the green diamond centered at the estimate of the overall ef-
fect size. The width of the diamond corresponds to the width of the overall CI. Note that the height
of the diamond is irrelevant. It is customary in meta-analysis forest plots to display an overall effect
size as a diamond filled inside with color. This, however, may overemphasize the actual area of the dia-
mond whereas only the width of it matters. If desired, you may suppress the fill color by specifying the
omarkeropts(mfcolor(none)) option.
Under the diamond, three lines are reported. The first line contains heterogeneity measures 𝐼 2 , 𝐻 2 ,
and 𝜏 ̂2 . The second line displays the homogeneity test based on the 𝑄 statistic. The third line displays
the test of the overall effect size being equal to zero. These lines may be suppressed by specifying
options noohetstats, noohomtest, and noosigtest. Alternatively, the default text in these lines may
be modified via options ohetstatstext(), ohomtesttext(), and osigtesttext(), respectively; see
example 16. See [META] meta summarize for a substantive interpretation of these results.
meta forestplot — Forest plots 150
Some forest plots show vertical lines at the no-effect and overall effect-size values. These may be
added to the plot via options nullrefline() and esrefline(), respectively; see example 5. Also,
you may sometimes want to plot custom-defined overall effect sizes such as based on multiple meta-
analysis models. This may be accomplished via the customoverall(); see example 12.
meta forestplot provides a quick way to assess between-study heterogeneity visually. In the ab-
sence of heterogeneity, we would expect to see that the middle points of the squares are close to the
middle of the diamond and the CIs are overlapping. In these data, there is certainly evidence of some
heterogeneity because the squares for some studies are far away from the diamond and there are studies
with nonoverlapping CIs.
Random
Aronson, 1948 4 119 11 128 0.41 [ 0.13, 1.26] 5.06
Ferguson & Simes, 1949 6 300 29 274 0.20 [ 0.09, 0.49] 6.36
Rosenthal et al., 1960 3 228 11 209 0.26 [ 0.07, 0.92] 4.44
Hart & Sutherland, 1977 62 13,536 248 12,619 0.24 [ 0.18, 0.31] 9.70
Vandiviere et al., 1973 8 2,537 10 619 0.20 [ 0.08, 0.50] 6.03
TPT Madras, 1980 505 87,886 499 87,892 1.01 [ 0.89, 1.14] 10.19
Coetzee & Berjak, 1968 29 7,470 45 7,232 0.63 [ 0.39, 1.00] 8.74
Heterogeneity: τ = 0.39, I = 89.93%, H = 9.93
2 2 2
0.38 [ 0.22, 0.65]
Test of θi = θj: Q(6) = 110.21, p = 0.00
Test of θ = 0: z = -3.52, p = 0.00
Systematic
Rosenthal et al., 1961 17 1,699 65 1,600 0.25 [ 0.15, 0.43] 8.37
Comstock et al., 1974 186 50,448 141 27,197 0.71 [ 0.57, 0.89] 9.93
Comstock & Webster, 1969 5 2,493 3 2,338 1.56 [ 0.37, 6.53] 3.82
Comstock et al., 1976 27 16,886 29 17,825 0.98 [ 0.58, 1.66] 8.40
Heterogeneity: τ = 0.40, I = 86.42%, H = 7.36
2 2 2
0.65 [ 0.32, 1.32]
Test of θi = θj: Q(3) = 16.59, p = 0.00
Test of θ = 0: z = -1.18, p = 0.24
In addition to the overall results, the forest plot shows the results of meta-analysis for each of the three
groups. With subgroup meta-analysis, each group gets its own red diamond marker that represents the
group-specific overall effect size. Just like with the overall diamond, only the widths (not the heights)
of the group-specific diamonds are relevant on the plot. Similarly to the overall marker, you can specify
the gmarkeropts(mfcolor(none)) option to suppress the fill color for the group-specific diamonds.
Heterogeneity measures, homogeneity tests, and significance tests are reported at the bottom (below
the group-specific diamond marker) within each group. These provide information regarding the hetero-
geneity among the studies within each group and the statistical significance of the group-specific overall
effect size. They may be suppressed with options noghetstats, nogwhomtests, and nogsigtests,
respectively. Alternatively, you may specify options ghetstats#text(), gwhomtest#text(), and
gsigtest#text() to modify the default text reported within the #th subgroup (# can be 1, 2, or 3 in this
case); see example 16.
meta forestplot — Forest plots 152
A test of between-group differences based on the 𝑄𝑏 statistic is reported at the bottom. This
test investigates the difference between the group-specific overall effect sizes. It may be suppressed
with nogbhomtests. Alternatively, the default text for this test may be modified using option
gbhomtest#text(); see example 16.
You may also specify multiple variables in subgroup(), in which case a separate subgroup analysis
is performed for each variable; see example 6 for details.
Risk ratio
Study with 95% CI p-value latitude
1/2 1
By default, the cumulative meta-analysis forest plot displays the study labels ( id), the plot of effect
sizes and their CIs ( plot), the values of effect sizes and their CIs ( esci), the 𝑝-values ( pvalue) of
the corresponding significance tests of the effect sizes, and the values of the order variable ( order).
The displayed effect sizes correspond to cumulative overall effect sizes or the overall effect sizes
computed for each set of accumulated studies. To distinguish them from study-specific effect sizes,
we plot them as unweighted circles using the same color, green, as the overall effect size in a standard
meta-analysis forest plot. You can change the default style and color of the markers by specifying the
omarkeropts() option. The corresponding CIs of the cumulative effect sizes are plotted as CI lines.
meta forestplot — Forest plots 153
We may construct a cumulative forest plot stratified by a covariate by specifying by() within
cumulative(). For example, let’s stratify our cumulative analysis by the method of treatment allo-
cation recorded in variable alloc.
. meta forestplot, cumulative(latitude, by(alloc) descending) rr
Effect-size label: Log risk-ratio
Effect size: _meta_es
Std. err.: _meta_se
Study label: studylbl
Risk ratio
Study with 95% CI p-value latitude
Alternate
Stein & Aronson, 1953 0.46 [ 0.39, 0.54] 0.000 44
Frimodt-Moller et al., 1973 0.58 [ 0.34, 1.01] 0.055 13
Random
Ferguson & Simes, 1949 0.20 [ 0.09, 0.49] 0.000 55
Hart & Sutherland, 1977 0.23 [ 0.18, 0.30] 0.000 52
Aronson, 1948 0.24 [ 0.19, 0.31] 0.000 44
Rosenthal et al., 1960 0.24 [ 0.19, 0.31] 0.000 42
Coetzee & Berjak, 1968 0.33 [ 0.20, 0.54] 0.000 27
Vandiviere et al., 1973 0.30 [ 0.19, 0.48] 0.000 19
TPT Madras, 1980 0.38 [ 0.22, 0.65] 0.000 13
Systematic
Rosenthal et al., 1961 0.25 [ 0.15, 0.43] 0.000 42
Comstock et al., 1976 0.50 [ 0.13, 1.88] 0.306 33
Comstock & Webster, 1969 0.66 [ 0.22, 1.93] 0.445 33
Comstock et al., 1974 0.65 [ 0.32, 1.32] 0.238 18
We specified that the analysis be conducted in the descending order of the latitude variable. The strat-
ified forest plot shows the same columns as before but the cumulative analysis is performed separately
for each group of alloc. A consistent pattern is observed across all three groups— RRs tend to increase
as latitude decreases.
meta forestplot — Forest plots 154
Risk ratio
Omitted study with 95% CI p-value
0.32 0.75
By default, the leave-one-out meta-analysis forest plot displays the study labels ( id), the plot of effect
sizes and their CIs ( plot), the values of effect sizes and their CIs ( esci), and the 𝑝-values ( pvalue)
of the corresponding significance tests of the effect sizes.
For each study, the displayed effect size corresponds to an overall effect size computed from a meta-
analysis excluding that study. Similarly to the case with cumulative forest plots, we will distinguish the
overall effect sizes from study-specific effect sizes by plotting them as unweighted circles using the same
color, green, as the overall effect size in a standard meta-analysis forest plot. You can change the default
style and color of the markers by specifying the omarkeropts() option. The corresponding CIs of the
overall effect sizes are plotted as CI lines.
By default, the leave-one-out forest plot displays a vertical line at the overall effect size based on
the complete set of studies (with no omission) to facilitate the detection of influential studies. You may
suppress this line by specifying option noesrefline.
All the overall effect sizes from the leave-one-out meta-analysis are close to the overall effect-size
vertical line, and their CI lines intersect with the vertical red line based on all the studies, which means
that there are no studies that substantially influence the results of our meta-analysis.
meta forestplot — Forest plots 155
We specify the nullrefline option to show the no-effect line at 0. Effect sizes with corresponding
CIs that cross this line are not statistically significant at the 5% level. We also specify the esrefline
option to draw a vertical line at the overall effect-size value. The default look of both lines may
be modified by specifying options nullrefline(line options) and esrefline(line options). See
[G-3] line options.
. meta forestplot, nullrefline esrefline
Effect-size label: Std. mean diff.
Effect size: stdmdiff
Std. err.: se
Study label: studylbl
When meta data are declared by using meta set (that is, when we are working with precomputed effect
sizes), the data column is not available. If desired, you may plot the values of effect sizes and their
standard errors by specifying the esse column. Other components of the graph are interpreted as in
example 1.
meta forestplot — Forest plots 156
tester
Aware 10 0.05 [ -0.10, 0.19] 0.520
Blind 9 0.15 [ -0.02, 0.31] 0.083
Test of group differences: Qb(1) = 0.81, p = 0.37
By default, the forest plot displays the study labels ( id), the number of studies within each group ( K),
the plot of effect sizes and their CIs ( plot), the values of effect sizes and their CIs ( esci), and the
𝑝-values ( pvalue) of the corresponding significance tests.
To keep the output compact, the forest plot does not report individual studies, only the number of
studies in each group. The between-group homogeneity test based on the 𝑄𝑏 is reported for each subgroup
analysis. For example, for subgroup analysis based on variable week1, there are two groups, <= 1 week
and > 1 week. The test investigates whether the overall effect sizes corresponding to these two groups
are the same. The results of this test are identical to those we would have obtained if we had specified
subgroup(week1). You may specify option nogbhomtests to suppress these tests. Alternatively, you
may modify the default text for the between-group homogeneity tests using option gbhomtest#text()
(# can be equal to 1 or 2 in this example); see example 16.
Just like with cumulative meta-analysis in example 3, meta forestplot uses unweighted circles and
CI lines to display the overall group-specific effect sizes and their CIs.
But here the circles are displayed in
red—the same color used to display the group-specific diamonds in a single-variable subgroup analysis
(see example 2).
meta forestplot — Forest plots 157
We used meta update to suppress the meta setting information displayed by meta forest for the rest
of our meta-analysis.
We can choose which columns to display and the order in which to display them in the forest plot by
specifying the corresponding column names in the desired order. In the code below, we display the study
labels first, followed by the effect sizes and their CIs, then weights, and finally the plot. We also use the
crop(-2 .) option to restrict the range of the CIs at a lower limit of −2.
. meta forestplot _id _esci _weight _plot, crop(-2 .)
CIs that extend beyond the lower limit of −2 are identified with an arrow head at the cropped endpoint.
meta forestplot — Forest plots 158
Example 10: Changing axis range and adding center study markers
In this example, we specify the xscale(range(.125 8)) and xlabel(#7) options to specify that
the 𝑥-axis range be symmetric (on the risk-ratio scale) about the no-effect value of 1 and that 7 tick marks
be shown on the axis.
. meta forest, eform xscale(range(.125 8)) xlabel(#7) insidemarker
We also used the insidemarker option to insert a marker (yellow circle) at the center of the study
markers (blue squares) to indicate the study-specific effect sizes. The default attributes of the inserted
markers may be modified by specifying insidemarker(marker options); see [G-3] marker options.
meta forestplot — Forest plots 161
In our example, the effect sizes that are falling on the “Favors vaccine” side (left side) reported that the
treatment (vaccine) reduced the risk of tuberculosis. The default placement of the labels may be modified
using the Graph Editor; see [G-1] Graph Editor.
The prediction interval, represented by the green whiskers extending from the overall diamond, pro-
vides a plausible range for the effect size in a future, new study.
meta forestplot — Forest plots 162
The latitude-specific overall effect sizes from the meta-regression model are shown as red diamonds
(stred is the red associated with the stcolor scheme). In the customoverall() options, we specified
the values of log risk-ratios, effect sizes in the estimation metric. But because we used the rr option,
meta forestplot displayed the overall diamonds as risk ratios. For example, the mean risk ratio for
studies conducted at latitude = 50 is roughly 0.30 with a CI of [0.2, 0.4].
meta forestplot — Forest plots 163
By default, the data displayed on the forest plot for pooling proportions are very similar to those
displayed on a forest plot for two-sample binary data; see example 1. The only difference here is the
summary data columns. Here data corresponds to the number of events/successes (column e, labeled
as Number of successes on the forest plot) and the study sample size (column n, labeled as Total).
The displayed effect sizes are Freeman–Tukey-transformed proportions.
Below, we report our results as proportions using the proportion option. When the effect
sizes are the Freeman–Tukey-transformed proportions, this option is equivalent to specifying option
transform(invftukey, hmean).
. meta forestplot, proportion
Below, we increase the margin between the plot region of column plot and that of column esci
using the columnopts( plot, plotregion(margin(right))) option.
. meta forestplot, proportion columnopts(_plot, plotregion(margin(right)))
Example 15: Prediction intervals with subgroup analysis and eliminating space in the
esci column
Continuing with example 2, we will add a 90% prediction interval within each subgroup. Notice that
a prediction interval is defined only when there are at least three studies; therefore, it is not computable
for the first subgroup (Alternate).
. meta forest, subgroup(alloc) rr predinterval(90, lcolor(stred))
Random
Aronson, 1948 4 119 11 128 0.41 [ 0.13, 1.26] 5.06
Ferguson & Simes, 1949 6 300 29 274 0.20 [ 0.09, 0.49] 6.36
Rosenthal et al., 1960 3 228 11 209 0.26 [ 0.07, 0.92] 4.44
Hart & Sutherland, 1977 62 13,536 248 12,619 0.24 [ 0.18, 0.31] 9.70
Vandiviere et al., 1973 8 2,537 10 619 0.20 [ 0.08, 0.50] 6.03
TPT Madras, 1980 505 87,886 499 87,892 1.01 [ 0.89, 1.14] 10.19
Coetzee & Berjak, 1968 29 7,470 45 7,232 0.63 [ 0.39, 1.00] 8.74
Heterogeneity: τ = 0.39, I = 89.93%, H = 9.93
2 2 2
0.38 [ 0.22, 0.65]
Test of θi = θj: Q(6) = 110.21, p = 0.00
Test of θ = 0: z = -3.52, p = 0.00
Systematic
Rosenthal et al., 1961 17 1,699 65 1,600 0.25 [ 0.15, 0.43] 8.37
Comstock et al., 1974 186 50,448 141 27,197 0.71 [ 0.57, 0.89] 9.93
Comstock & Webster, 1969 5 2,493 3 2,338 1.56 [ 0.37, 6.53] 3.82
Comstock et al., 1976 27 16,886 29 17,825 0.98 [ 0.58, 1.66] 8.40
Heterogeneity: τ = 0.40, I = 86.42%, H = 7.36
2 2 2
0.65 [ 0.32, 1.32]
Test of θi = θj: Q(3) = 16.59, p = 0.00
Test of θ = 0: z = -1.18, p = 0.24
Next, we will eliminate the space in the esci column right after the left bracket of the effect-size CI.
This is done by removing the default binding of the CIs using option cibind(none) and specifying our
own custom binding for columns lb and ub as follows:
. meta forest, subgroup(alloc) rr
> columnopts(_lb, mask(”[%4.2f”))
> columnopts(_ub, mask(”%4.2f]”)) cibind(none)
Random
Aronson, 1948 4 119 11 128 0.41 [0.13 1.26] 5.06
Ferguson & Simes, 1949 6 300 29 274 0.20 [0.09 0.49] 6.36
Rosenthal et al., 1960 3 228 11 209 0.26 [0.07 0.92] 4.44
Hart & Sutherland, 1977 62 13,536 248 12,619 0.24 [0.18 0.31] 9.70
Vandiviere et al., 1973 8 2,537 10 619 0.20 [0.08 0.50] 6.03
TPT Madras, 1980 505 87,886 499 87,892 1.01 [0.89 1.14] 10.19
Coetzee & Berjak, 1968 29 7,470 45 7,232 0.63 [0.39 1.00] 8.74
Heterogeneity: τ = 0.39, I = 89.93%, H = 9.93
2 2 2
0.38 [0.22 0.65]
Test of θi = θj: Q(6) = 110.21, p = 0.00
Test of θ = 0: z = -3.52, p = 0.00
Systematic
Rosenthal et al., 1961 17 1,699 65 1,600 0.25 [0.15 0.43] 8.37
Comstock et al., 1974 186 50,448 141 27,197 0.71 [0.57 0.89] 9.93
Comstock & Webster, 1969 5 2,493 3 2,338 1.56 [0.37 6.53] 3.82
Comstock et al., 1976 27 16,886 29 17,825 0.98 [0.58 1.66] 8.40
Heterogeneity: τ = 0.40, I = 86.42%, H = 7.36
2 2 2
0.65 [0.32 1.32]
Test of θi = θj: Q(3) = 16.59, p = 0.00
Test of θ = 0: z = -1.18, p = 0.24
Example 16: Modifying default text for heterogeneity statistics and statistical tests
Continuing with example 5, we will modify the default text reported in the three lines under Overall
using options ohetstatstext() (for the first line), ohomtesttext() (for the second line), and
osigtesttext() (for the third line). We will be slightly more descriptive about the type of information
reported in each line and report the 𝐼 2 statistic without decimal points.
. use [Link] clear
(Effects of teacher expectancy on pupil IQ; set with -meta set-)
. local hstats ”Heterogeneity statistics:”
. local htest ”Homogeneity test of {&theta}{sub:i} = {&theta}{sub:j}:”
. local stest ”Significance test of {&theta} = 0:”
. meta forest,
> ohetstatstext(”‘hstats’ {&tau}{sup:2} = 0.02, I{sup:2} = 42%, H{sup:2} = 1.72”)
> ohomtesttext(”‘htest’ Q(18) = 35.83, p = 0.01”)
> osigtesttext(”‘stest’ z = 1.62, p = 0.11”)
Next, we will construct a subgroup forest plot based on variable tester (aware versus blind). See
example 2 for a detailed description of the subgroup forest plot.
We will suppress the within-group homogeneity tests (option nogwhomtests) and the tests of signifi-
cance for the group-specific overall effect sizes (option nogsigtests). We also use options noohomtest
and noosigtest to suppress the same information for the overall analysis. We will report only 𝜏 2 and 𝐼 2
in the overall heterogeneity statistics (option ohetstatstext()) and in the group-specific heterogene-
ity statistics (by repeating the ghetstats#text() option for each subgroup). Finally, we use option
gbhomtest1text() to modify the description of the between-group homogeneity test and label it as
meta forestplot — Forest plots 169
𝐻0 ∶ 𝜃aware = 𝜃blind and report the 𝐼 2 statistic corresponding to the 𝑄𝑏 test statistic. The 𝐼 2 statistic
is computed as follows: 𝐼 2 = 100 × max {0, 1 − (𝐿 − 1)/𝑄𝑏 }, where 𝐿 is the number of subgroups
(𝐿 = 2 in this example).
. local H0txt ”H{sub:0}[{&theta}{sub:aware} = {&theta}{sub:blind}]:”
. local H0stats ”Q{sub:b}(1) = 0.81, p = .37, I{sup:2} = 0% ”
. meta forest, subgroup(tester) nogsigtests noosigtest nogwhomtests noohomtest
> ghetstats1text(”Heterogeneity: {&tau}{sup:2} = 0.03, I{sup:2} = 52%”)
> ghetstats2text(”Heterogeneity: {&tau}{sup:2} = 0.02, I{sup:2} = 42%”)
> ohetstatstext(”Heterogeneity: {&tau}{sup:2} = 0.02, I{sup:2} = 42%”)
> gbhomtest1text(”‘H0txt’ ‘H0stats’”)
Blind
Pellegrini & Hicks, 1972 0.26 [ -0.46, 0.98] 1.72
Fielder et al., 1971 -0.02 [ -0.22, 0.18] 9.06
Maxwell, 1970 0.80 [ 0.31, 1.29] 3.26
Carter, 1970 0.54 [ -0.05, 1.13] 2.42
Flowers, 1966 0.18 [ -0.26, 0.62] 3.89
Keshock, 1970 -0.02 [ -0.59, 0.55] 2.61
Henrikson, 1970 0.23 [ -0.34, 0.80] 2.59
Grieger, 1970 -0.06 [ -0.39, 0.27] 5.71
Fleming & Anttonen, 1971 0.07 [ -0.11, 0.25] 9.64
Heterogeneity: τ = 0.02, I = 42%
2 2
0.15 [ -0.02, 0.31]
-1 0 1 2
Finally, we will construct a multiple subgroup-analyses forest plot based on variables week1, tester,
and setting. See example 6 for the interpretation of this type of forest plot. By default, only informa-
tion regarding the between-group homogeneity tests is reported for each variable. We will use option
gbhomtest#text() (corresponding to the #th variable in subgroup()) to display the same default in-
formation regarding the between-group homogeneity test, but we now add an additional line reporting
the within-group homogeneity tests for the groups defined by each variable. This is done by specifying
meta forestplot — Forest plots 170
two strings within the gbhomtest#text() option, one for each line. The within-group homogeneity test
information may be obtained from the second table in the output of meta summarize, subgroup(week1
tester setting).
. local Qdesc ”Test of {&theta}{sub:i} = {&theta}{sub:j}:”
. local Qbdesc ”Test of group differences: Q{sub:b}(1) =”
. meta forest, subgroup(week1 tester setting)
> gbhomtest1text( ”‘Qdesc’ Q(7) = 11.2, Q(10) = 6.4, p{sub:1} = .13, p{sub:2} = .78”
> ”‘Qbdesc’ 14.77, p = 0.00”)
> gbhomtest2text(”‘Qdesc’ Q(9) = 22.19, Q(8) = 12.96, p{sub:1} = .008, p{sub:2} = .113”
> ”‘Qbdesc’ .81, p = 0.367”)
> gbhomtest3text(”‘Qdesc’ Q(15) = 26.49, Q(2) = 4.98, p{sub:1} = .033, p{sub:2} = .083”
> ”‘Qbdesc’ 1.48, p = 0.224”)
Std. mean diff.
Study K with 95% CI p-value
week1
<= 1 week 8 0.37 [ 0.19, 0.56] 0.000
> 1 week 11 -0.02 [ -0.10, 0.06] 0.603
Test of θi = θj: Q(7) = 11.2, Q(10) = 6.4, p1 = .13, p2 = .78
Test of group differences: Qb(1) = 14.77, p = 0.00
tester
Aware 10 0.05 [ -0.10, 0.19] 0.520
Blind 9 0.15 [ -0.02, 0.31] 0.083
Test of θi = θj: Q(9) = 22.19, Q(8) = 12.96, p1 = .008, p2 = .113
Test of group differences: Qb(1) = .81, p = 0.367
setting
Group 16 0.05 [ -0.04, 0.13] 0.269
Indiv 3 0.35 [ -0.14, 0.84] 0.156
Test of θi = θj: Q(15) = 26.49, Q(2) = 4.98, p1 = .033, p2 = .083
Test of group differences: Qb(1) = 1.48, p = 0.224
References
Anzures-Cabrera, J., and J. P. T. Higgins. 2010. Graphical displays for meta-analysis: An overview with suggestions for
practice. Research Synthesis Methods 1: 66–80. [Link]
Colditz, G. A., T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg, and F. Mosteller. 1994. Efficacy
of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American
Medical Association 271: 698–702. [Link]
Fisher, D. J. 2016. “Two-stage individual participant data meta-analysis and generalized forest plots”. In Meta-Analysis
in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 280–307. 2nd ed.
College Station, TX: Stata Press.
Harris, R. J., M. J. Bradburn, J. J. Deeks, R. M. Harbord, D. G. Altman, and J. A. C. Sterne. 2016. “metan: Fixed- and
random-effects meta-analysis”. In Meta-Analysis in Stata: An Updated Collection from the Stata Journal, edited by T. M.
Palmer and J. A. C. Sterne, 29–54. 2nd ed. College Station, TX: Stata Press.
meta forestplot — Forest plots 171
Lewis, J. A., and S. H. Ellis. 1982. A statistical appraisal of post-infarction beta-blocker trials. Primary Cardiology Suppl. 1:
31–37.
Lewis, S., and M. Clarke. 2001. Forest plots: Trying to see the wood and the trees. BMJ 322: 1479–1480. [Link]
org/10.1136/bmj.322.7300.1479.
Raudenbush, S. W. 1984. Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of ex-
pectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology 76: 85–97.
[Link]
Raudenbush, S. W., and A. S. Bryk. 1985. Empirical Bayes meta-analysis. Journal of Educational Statistics 10: 75–98.
[Link]
Schriger, D. L., D. G. Altman, J. A. Vetter, T. Heafner, and D. Moher. 2010. Forest plots in reports of systematic reviews:
A cross-sectional study reviewing current practice. International Journal of Epidemiology 39: 421–429. [Link]
10.1093/ije/dyp370.
Also see
[META] meta data — Declare meta-analysis data
[META] meta galbraithplot — Galbraith plots
[META] meta labbeplot — L’Abbé plots
[META] meta summarize — Summarize meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta summarize — Summarize meta-analysis data
Description
meta summarize summarizes meta data. It reports individual effect sizes and the overall effect size
(ES), their confidence intervals (CIs), heterogeneity statistics, and more. meta summarize can perform
random-effects (RE), common-effect (CE), and fixed-effects (FE) meta-analyses. It can also perform
subgroup, cumulative, and sensitivity meta-analyses. For graphical display of meta-analysis summaries,
see [META] meta forestplot.
Quick start
Perform meta-analysis and summarize meta data, which were declared by either meta set or meta
esize
meta summarize
Same as above, but summarize meta-analysis results using the empirical Bayes RE method instead of the
declared method
meta summarize, random(ebayes)
Same as above, but report transformed effect sizes and CIs using the hyperbolic tangent function
meta summarize, random(ebayes) transform(tanh)
Perform subgroup meta-analysis based on the categorical variable x1
meta summarize, subgroup(x1)
Perform subgroup analysis based on the categorical variables x1, x2, and x3
meta summarize, subgroup(x1 x2 x3)
Perform cumulative meta-analysis (CMA), where studies are included in the CMA based on the ascending
order of observations in variable x4
meta summarize, cumulative(x4)
Same as above, but stratify the results of the CMA based on groups of the categorical variable x5
meta summarize, cumulative(x4, by(x5))
Perform leave-one-out meta-analysis
meta summarize, leaveoneout
Perform sensitivity meta-analysis by assuming a fixed value of 0.2 for the between-study heterogeneity
parameter 𝜏 2 , assuming that the declared model is RE
meta summarize, tau2(.2)
172
meta summarize — Summarize meta-analysis data 173
Menu
Statistics > Meta-analysis
Syntax
Meta-analysis as declared with meta set or meta esize
Random-effects meta-analysis
meta summarize [ if ] [ in ], random[ (remethod ) ] [ options reopts ]
Common-effect meta-analysis
meta summarize [ if ] [ in ], common[ (cefemethod ) ] [ options ]
Fixed-effects meta-analysis
meta summarize [ if ] [ in ], fixed[ (cefemethod ) ] [ options ]
options Description
Main
subgroup(varlist ) subgroup meta-analysis for each variable in varlist
cumulative(cumulspec) cumulative meta-analysis
leaveoneout leave-one-out meta-analysis
Options
level(#) set confidence level; default is as declared for meta-analysis
citype(citype) specify the type of study CI (for meta-analysis of a single
proportion)
proportion report proportions (for meta-analysis of a single proportion)
prevalence synonym for proportion but labels the effect sizes
as Prevalence in the output
+
correlation report correlations (for meta-analysis of correlations)
eform option report exponentiated results
transform(transfspec) report transformed results
sort(varlist[ , ... ]) sort studies according to varlist
tdistribution report 𝑡 test instead of 𝑧 test for the overall effect size
nostudies suppress output for individual studies
noheader suppress output header
[ no ]metashow display or suppress meta settings in the output
display options control column formats
Maximization
maximize options control the maximization process; seldom used
collect is allowed; see [U] 11.1.10 Prefix commands.
meta summarize — Summarize meta-analysis data 174
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
cefemethod Description
mhaenszel Mantel–Haenszel
invvariance inverse variance
ivariance synonym for invvariance
reopts Description
tau2(#) sensitivity meta-analysis using a fixed value of between-study variance 𝜏 2
i2(#) sensitivity meta-analysis using a fixed value of heterogeneity statistic 𝐼 2
predinterval[ (#) ] report prediction interval for the overall effect size
se(seadj) adjust standard error of the overall effect size
Options
Main
Options random(), common(), and fixed(), when specified with meta summarize, temporarily over-
ride the global model declared by meta set or meta esize during the computation. Options random(),
common(), and fixed() may not be combined. If these options are omitted, the declared meta-analysis
model is assumed; see Declaring a meta-analysis model in [META] meta data. Also see Meta-analysis
models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis; see
Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common and common(cefemethod) specify that a common-effect model be assumed for meta-analysis;
see Common-effect (“fixed-effect”) model in [META] Intro. Also see the discussion in [META] meta
data about common-effect versus fixed-effects models.
common implies common(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
common(invvariance) for all other effect sizes. common(mhaenszel) is supported only with effect
sizes lnoratio, lnrratio, and rdiff.
cefemethod is one of mhaenszel or invvariance (synonym ivariance). See Options in
[META] meta esize for more information.
meta summarize — Summarize meta-analysis data 175
fixed and fixed(cefemethod) specify that a fixed-effects model be assumed for meta-analysis; see
Fixed-effects model in [META] Intro. Also see the discussion in [META] meta data about fixed-effects
versus common-effect models.
fixed implies fixed(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
fixed(invvariance) for all other effect sizes. fixed(mhaenszel) is supported only with effect
sizes lnoratio, lnrratio, and rdiff.
cefemethod is one of mhaenszel or invvariance (synonym ivariance); see Options in
[META] meta esize for more information.
subgroup(varlist ) specifies that a subgroup meta-analysis (subgroup analysis) be performed for each
variable in varlist. Subgroup analysis performs meta-analysis separately for each variable in varlist
and for each group as defined by that variable. The specified meta-analysis model is assumed for each
subgroup. This analysis is useful when the results of all studies are too heterogeneous to be combined
into one estimate but the results are similar within certain groups of studies. The specified variables
can be numeric or string variables. When multiple variables are specified, only the subgroup results
are displayed; that is, the results from individual studies are suppressed for brevity. This option may
not be combined with cumulative() or leaveoneout.
cumulative(ordervar[ , ascending | descending by(byvar) ]) performs a cumulative meta-
analysis (CMA). CMA performs multiple meta-analyses and accumulates the results by adding one
study at a time to each subsequent analysis. It is useful for monitoring the results of the studies as
new studies become available. The studies enter the CMA based on the ordered values of variable
ordervar. ordervar must be a numeric variable. By default, ascending order is assumed unless
the suboption descending is specified; only one of ascending or descending is allowed. The
by(byvar) option specifies that the CMA be stratified by variable byvar. This option may not be
combined with subgroup() or leaveoneout.
leaveoneout performs a leave-one-out meta-analysis. For each study, the corresponding leave-one-out
meta-analysis is a meta-analysis of all the studies except that study. It is useful for assessing the effect
of a single study on the meta-analysis results and for identifying outliers if they exist. This option
may not be combined with subgroup() or cumulative().
reopts are tau2(#), i2(#), predinterval[ (#) ], and se(khartung[ , truncated ]). These options
are used with random-effects meta-analysis.
tau2(#) specifies the value of the between-study variance parameter, 𝜏 2 , to use for the random-
effects meta-analysis. This option is useful for exploring the sensitivity of the results to different
levels of between-study heterogeneity. Only one of tau2() or i2() may be specified. This option
is not allowed in combination with subgroup(), cumulative(), or leaveoneout.
i2(#) specifies the value of the heterogeneity statistic 𝐼 2 (as a percentage) to use for the random-
effects meta-analysis. This option is useful for exploring the sensitivity of the results to different
levels of between-study heterogeneity. Only one of i2() or tau2() may be specified. This option
is not allowed in combination with subgroup(), cumulative(), or leaveoneout.
predinterval and predinterval(#) specify that the 95% or #% prediction interval be reported
for the overall effect size in addition to the confidence interval. # specifies the confidence level
of the prediction interval. The prediction interval provides plausible ranges for the effect size in
a future, new study. This option is not allowed in combination with subgroup() when specified
with more than one variable, cumulative(), or leaveoneout.
meta summarize — Summarize meta-analysis data 176
se(seadj) specifies that the adjustment seadj be applied to the standard error of the overall effect size.
Additionally, the test of significance of the overall effect size is based on a Student’s 𝑡 distribution
instead of the normal distribution.
seadj is khartung[ , truncated ]. Adjustment khartung specifies that the Knapp–Hartung
adjustment (Hartung and Knapp 2001a, 2001b; Knapp and Hartung 2003), also known as the
Sidik–Jonkman adjustment (Sidik and Jonkman 2002), be applied to the standard error of the
overall effect size. hknapp and sjonkman are synonyms for khartung. truncated specifies
that the truncated Knapp–Hartung adjustment (Knapp and Hartung 2003), also known as the
modified Knapp–Hartung adjustment, be used.
Options
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set.
citype(citype) specifies the type of CI to be reported for meta-analysis of a single proportion. citype is
one of wald (the default), exact, wilson, agresti, or jeffreys. For more details, see Binomial
proportion in [R] ci. This option affects only individual study CIs and not the CI for the overall effect
size. Thus, it may not be combined with options cumulative(), leaveoneout, and subgroup()
with more than one variable.
proportion reports results as proportions for meta-analysis of a single proportion. By default, the re-
sults are displayed in the metric declared with meta esize, such as Freeman–Tukey-transformed pro-
portions or logit-transformed proportions. proportion is a synonym for transform(invftukey,
hmean) when the effect size is esize(ftukeyprop) or transform(invlogit) when the effect size
is esize(logitprop). This option affects how results are displayed, not how they are estimated or
stored.
prevalence is a synonym for proportion but labels the effect sizes as Prevalence instead of
Proportion in the output.
correlation is part of StataNow. It reports results as correlations for meta-analysis of correlations.
By default, the results are displayed in the metric declared with meta esize, such as Fisher’s 𝑧-
transformed correlations. correlation is a synonym for transform(corr) when the effect size
is esize(fisherz). This option affects how results are displayed, not how they are estimated or
stored.
eform option is one of eform, eform(string), or, or rr. It reports exponentiated effect sizes and trans-
forms their respective confidence intervals, whenever applicable. By default, the results are displayed
in the metric declared with meta set or meta esize such as log odds-ratios and log risk-ratios.
eform option affects how results are displayed, not how they are estimated and stored. eform option
is not available with two-sample continuous data, one-sample binary data, and correlation data.
eform(string) labels the exponentiated effect sizes as string; the other options use default labels. The
default label is specific to the chosen effect size. For example, option eform uses Odds ratio
when used with log odds-ratios declared with meta esize or Risk ratio when used with the
declared log risk-ratios. Option or is a synonym for eform when log odds-ratio is declared, and
option rr is a synonym for eform when log risk-ratio is declared. If option eslabel(eslab) is
specified during declaration, then eform will use the exp(eslab) label or, if eslab is too long, the
exp(ES) label.
meta summarize — Summarize meta-analysis data 177
transform([ label: ] transf name) reports transformed effect sizes and CIs. transf name is one of
corr, efficacy, exp, invlogit, tanh, or invftukey[ , invftopts ]. When label is specified, the
transformed effect sizes are labeled as label instead of using the default label. This option may not be
combined with eform option.
corr transforms effect sizes (and CIs) specified as Fisher’s 𝑧 values into correlations and,
by default, labels them as Correlation; that is, transform(corr) is a synonym for
transform(Correlation: tanh).
efficacy transforms the effect sizes and CIs using the 1 − exp() function (or more precisely, the
−expm1() function) and labels them as Efficacy. This transformation is used, for example,
when the effect sizes are log risk-ratios so that the transformed effect sizes can be interpreted as
treatment efficacies, 1 − risk ratios.
exp exponentiates effect sizes and CIs and, by default, labels them as exp(ES). This transformation is
used, for example, when the effect sizes are log risk-ratios, log odds-ratios, and log hazard-ratios
so that the transformed effect sizes can be interpreted as risk ratios, odds ratios, and hazard ratios.
If the declared effect sizes are log odds-ratios or log risk-ratios, the default label is Odds ratio or
Risk ratio, respectively.
invlogit transforms the effect sizes and CIs using the inverse-logit function, invlogit(), and, by
default, labels them as invlogit(ES). This transformation is used, for example, when the effect
sizes are logit of proportions so that the transformed effect sizes can be interpreted as proportions.
tanh applies the hyperbolic tangent transformation, tanh(), to the effect sizes and CIs and, by de-
fault, labels them as tanh(ES). This transformation is used, for example, when the effect sizes are
Fisher’s 𝑧 values so that the transformed effect sizes can be interpreted as correlations.
invftukey[ , invftopts ] is relevant to meta-analysis of a single proportion. It applies the inverse
Freeman–Tukey double arcsine transformation to the effect sizes and CIs and, by default, labels
them as Proportion. This transformation is used only when pooling proportions (prevalences)
with the default effect size esize(ftukeyprop). See Inverse Freeman–Tukey transformation for
more details.
invftopts are hmean, gmean, amean, ivariance, and scale().
hmean specifies that the harmonic mean of the within-study sample sizes be used to back-
transform the overall effect size.
gmean specifies that the geometric mean of the within-study sample sizes be used to back-
transform the overall effect size.
amean specifies that the arithmetic mean of the within-study sample sizes be used to back-
transform the overall effect size.
ivariance specifies that the inverse of the variance of the overall effect size be used to back-
transform the overall effect size.
scale(#) scales the study proportions, the overall proportion, and their CIs by #. This option is
relevant when the proportions are very small, in which case it might be preferable to report
them as the number of successes per, say, 1,000 or 10,000 observations. # must be an integer
greater than 1.
sort(varlist[ , ascending | descending ]) sorts the studies in ascending or descending order based
on values of the variables in varlist. This option is useful if you want to sort the studies in the
output by effect sizes, sort( meta es), or by precision, sort( meta se). By default, ascend-
meta summarize — Summarize meta-analysis data 178
ing order is assumed unless the suboption descending is specified; only one of ascending or
descending is allowed. varlist may contain string and numeric variables. This option is not al-
lowed with cumulative(). When sort() is not specified, the order of the studies in the output is
based on the ascending values of variable meta id, which is equivalent to sort( meta id).
tdistribution reports a 𝑡 test instead of a 𝑧 test for the overall effect size. This option may not be
combined with option subgroup(), cumulative(), leaveoneout, or se().
nostudies (synonym nostudy) suppresses the display of information such as effect sizes and their CIs
for individual studies from the output table.
noheader suppresses the output header.
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
display options: cformat(% fmt ), pformat(% fmt ), and sformat(% fmt ); see [R] Estimation options.
The defaults are cformat(%9.3f), pformat(%5.3f), and sformat(%8.2f).
wgtformat(% fmt ) specifies how to format the weight column in the output table. The default is
wgtformat(%5.2f). The maximum format width is 5.
ordformat(% fmt ) specifies the format for the values of the order variable, specified in
cumulative(ordervar). The default is ordformat(%9.0g). The maximum format width is 9.
Maximization
Introduction
Meta-analysis helps answer research questions based on the results of multiple studies. Does exer-
cise prolong life? Does lack of sleep increase the risk of cancer? Does daylight saving save energy? Or
does performing the duck-face technique while taking a selfie increase the number of likes on Facebook?
These (except perhaps the last one) and many other research questions have been investigated by mul-
tiple studies. These studies may have reported conflicting results: some may have shown effects in one
direction, some in the opposite, and others may have shown none that are statistically significant. Meta-
analysis uses quantitative methods to explore these conflicting results and, whenever possible, provide a
unified conclusion based on the results of the individual studies.
meta summarize — Summarize meta-analysis data 179
Meta-analysis combines the results of similar multiple studies into a single result. Studies typically
report some measures of outcomes, or effect sizes, and their precision (standard errors or CIs). Meta-
analysis combines the individual effects sizes to provide various meta-analysis summaries. The main
summaries are the overall effect size and its precision. Other meta-analysis summaries include the test
of significance of the overall effect size, between-study heterogeneity summaries such as the 𝐼 2 statistic,
and the test of homogeneity between studies. The meta summarize command reports such summaries.
Estimating the overall effect size, 𝜃, and its precision based on the results of multiple studies is at the
heart of meta-analysis. There are various methods for estimating 𝜃, which depend on the research goals
and model assumptions about the studies. The estimate of the overall (combined) ES is computed as the
weighted average of the study-specific effect sizes, with larger weights given to more precise (larger)
studies:
∑𝐾 𝑤 𝜃̂
𝑗=1 𝑗 𝑗
𝜃̂ =
∑𝐾 𝑤
𝑗=1 𝑗
The weights are determined by the chosen meta-analysis model, estimation method, and potentially the
type of effect size; see Methods and formulas for details. (In [META] Intro, we used 𝜃pop to denote the
population parameter of interest. For simplicity, here and in the rest of the documentation, we will use
𝜃.)
As we described in Meta-analysis models in [META] Intro, the choice of a meta-analysis model is
important not only for estimation but also for interpretation of 𝜃.̂ meta summarize supports random-
effects (random), fixed-effects (fixed), and common-effect (common) meta-analysis models. Each
meta-analysis model provides various estimation methods such as the random-effects REML method,
random(reml), and fixed-effects Mantel–Haenszel method, fixed(mhaenszel). The default model
and method are as declared with meta set or meta esize; see Declaring a meta-analysis model in
[META] meta data. Note that the Mantel–Haenszel method is available only with effect sizes lnoratio,
lnrratio, and rdiff declared by using meta esize; see [META] meta esize.
For random-effects models, you can perform sensitivity meta-analysis to explore the impact of differ-
ent levels of heterogeneity on the results. You can use the tau2(#) option to specify different fixed values
for the between-study variance 𝜏 2 . Or you can fix the percentage of variation in the effect sizes because
of heterogeneity by specifying the values for the 𝐼 2 statistic in the i2(#) option. With random-effects
models, you can also compute prediction intervals for 𝜃,̂ predinterval(#), and use the alternative
standard-error estimators, se().
You can perform subgroup analysis, subgroup(), CMA, cumulative(), or leave-one-out meta-
analysis, leaveoneout; see Subgroup meta-analysis, Cumulative meta-analysis, and Leave-one-out
meta-analysis in [META] Intro. Also see Subgroup meta-analysis, Cumulative meta-analysis, and Leave-
one-out meta-analysis in Methods and formulas below.
You can sort the studies based on variables of interest via option sort(). For example, use
sort( meta es) or sort( meta weight) to display the results based on the ascending order of the
study effect sizes or study weights, respectively.
You can specify the desired confidence level with level(); report exponentiated results by specifying
eform; report a 𝑡 test, instead of a 𝑧 test, for the overall effect size by specifying tdistribution; and
more.
In the next section, we demonstrate various usages of meta summarize.
meta summarize — Summarize meta-analysis data 180
For brevity, we consider only the first 10 studies. We use meta query, short to remind us about the
main settings of the declaration step. Our data were declared by using meta set with variables stdmdiff
and se specifying the effect sizes and their standard errors, respectively. The declared meta-analysis
model is the default random-effects model with the REML estimation method.
Examples are presented under the following headings:
Example 1: Default random-effects meta-analysis
Example 2: DerSimonian–Laird random-effects method
Example 3: Fixed-effects meta-analysis
Example 4: Common-effect meta-analysis
Example 5: Knapp–Hartung standard-error adjustment
Example 6: Prediction interval
Example 7: Sensitivity meta-analysis
Example 8: Other options: CI level, t distribution, sort, eform
Example 9: Subgroup meta-analysis
Example 10: Meta-analysis of correlations
Example 11: Meta-analysis of a single proportion and the transform() option
Example 12: Cumulative meta-analysis
Example 13: Leave-one-out meta-analysis
meta summarize — Summarize meta-analysis data 181
As with other meta commands, a short information about meta settings is displayed directly following
the meta summarize command. It can be suppressed with the nometashow option; see example 2.
Next, the header reports the information about the meta-analysis model and method, the number of
studies (10), and several heterogeneity statistics. The output table reports the effect sizes and their 95%
CIs for individual studies and the estimate of the overall, combined ES, labeled as theta, and its 95% CI.
The test of significance of the overall effect size and the homogeneity test are reported at the bottom of
the table.
Because our declared effect-size label, Std. mean diff., was too long to fit as the column header,
meta summarize used the generic column label Effect size but displayed the specified label in the
table legend.
The mean effect size in our example is 0.134 with the 95% CI of [−0.075, 0.342]. This estimate
is computed as the weighted average of the study-specific effect sizes, with the weights representing
precision of the studies. The percentages of the total weight for each study are reported in the % weight
column. The more precise the study is, the larger its weight percentage. For example, studies 6 and 7,
with labels Evans & Rosenthal, 1969 and Fielder et al., 1971, have the largest weight percentage
among the studies of about 13% (each). Thus, their effect-size estimates, −0.06 and −0.02, have the
largest weights in the weighted-average estimate.
The 95% CI for the overall estimate and the test of 𝐻0∶ 𝜃 = 0 with the 𝑧-test statistic of 1.26 and the
𝑝-value of 0.2085 suggest that 𝜃 is not statistically significantly different from 0. We should be careful,
however, with our conclusions in the presence of between-study heterogeneity.
meta summarize — Summarize meta-analysis data 182
The heterogeneity statistic 𝐼 2 , reported in the header, is about 75%, which means that 75% of the vari-
ability in the effect-size estimates is because of the between-study differences rather than the sampling
variation. According to Higgins et al. (2003), this value of 𝐼 2 corresponds to “large heterogeneity”. (The
authors suggest that 𝐼 2 = 25% should indicate “small heterogeneity”, 𝐼 2 = 50% indicate “medium het-
erogeneity”, and 𝐼 2 = 75% indicate “large heterogeneity”.) The between-study variance 𝜏 2 is estimated
to be 0.0754. The homogeneity test of 𝐻0 ∶ 𝜃1 = 𝜃2 = · · · = 𝜃10 reports the 𝑄 test statistic of 26.21
with a 𝑝-value of 0.0019.
When there are few studies, which is typical in meta-analysis, the homogeneity test is known to have
low power, which means that it may not detect clinically significant heterogeneity (Hedges and Pigott
2001). Thus, you should use caution when interpreting nonsignificant results as “no heterogeneity”. In
fact, many experts (for example, Berman and Parker [2002]) recommend using a 10% significance level
instead of the classical 5% level to determine statistical significance when using this test. On the other
hand, when there are many studies, this test is known to have excessive power, which means that it tends
to detect heterogeneity that is clinically insignificant (Hardy and Thompson 1998).
In our example, the 𝑝-value of the homogeneity test is 0.0019 < 0.05 < 0.1, so there is definitely
statistical evidence of the between-study heterogeneity. See example 9 for one way to account for the
heterogeneity.
The results are now based on the DerSimonian–Laird method, and the header is updated to reflect this.
This method is one of the many random-effects methods for estimating the between-study variance 𝜏 2 .
Its estimate is 0.0481. In random-effects models, the weights depend on 𝜏 2 and thus will differ across
meta summarize — Summarize meta-analysis data 183
different random-effects methods. The mean effect-size estimate under the DerSimonian–Laird method
is 0.117 with the 95% CI of [−0.061, 0.296]. This estimate is similar to the 0.134 estimate we obtained
in example 1. We also arrive at the same inferential conclusion of no statistical significance of the mean
effect size as in the previous example.
To shorten the output, let’s suppress the meta setting information from the output of meta summarize
for all remaining examples. We can use meta update to update our current meta settings.
. quietly meta update, nometashow
We specified the nometashow option with meta update to suppress the display of the meta setting in-
formation in all meta commands; see Modifying default meta settings in [META] meta data.
As reported in the header, fixed implied the inverse-variance estimation method. The between-group
variance parameter is not estimated with fixed-effects models, so the heterogeneity summary does not
report tau2. Under this model, the mean effect-size estimate is 0.051 with the 95% CI of [−0.045, 0.146].
As we explain in Comparison between the models and interpretation of their results in [META] Intro, in a
fixed-effects model, theta estimates the weighted average of the true study-specific standardized mean
differences. Our interpretation is also limited to these 10 studies that we observed in our meta-analysis.
That is, the weighted average of the standardized mean differences of these 10 studies is not statistically
significantly different from 0.
meta summarize — Summarize meta-analysis data 184
We use the common option to specify a common-effect model. Because this model implies no heterogene-
ity, the corresponding summaries and the homogeneity test are not reported for this model. As we point
out in Comparison between the models and interpretation of their results in [META] Intro, a common-
effect model is computationally the same as a fixed-effects model. So we obtain the exact same results
as in example 3. However, the interpretation of our results is different. Here theta estimates a single
effect, which is common to all studies. Although the two models produce the same results, to encourage
proper interpretation, we provide both options, common and fixed, to distinguish between these models;
see Declaring a meta-analysis model in [META] meta data for details.
Without the individual studies, the output table is slightly different. The test of significance is now
reported in the output table instead of at the bottom of the output table.
The estimate theta is the same as in example 1, 0.134, but it is reported with more digits in this table.
The confidence intervals and the test of significance are different. In addition to making an adjustment
to the standard error, Knapp and Hartung also use a Student’s 𝑡 distribution as a sampling distribution
instead of the normal distribution. Thus, the 𝑡 statistic is reported in the output table instead of the 𝑧
statistic. Regardless, we still conclude that our overall effect size is not statistically significant.
Another standard error adjustment, also used in practice, is the so-called truncated or modified
Knapp–Hartung adjustment; see Methods and formulas for details. This adjustment can be specified
with the se(khartung, truncated) option.
. meta summarize, se(khartung, truncated)
(output omitted )
We specified predinterval(90) to compute the 90% prediction interval for the mean effect size; use
predinterval to compute the 95% interval. Following example 5, we also used nostudies to suppress
individual studies.
The 90% prediction interval, reported at the bottom of the table, is [−0.414, 0.681]. The prediction
interval will be wider than the confidence interval because it additionally accounts for the uncertainty in
the between-study variability.
Our estimate of the mean effect size is 0.174 with the 95% CI of [−0.162, 0.51] compared with 0.134
with the 95% CI of [−0.075, 0.342] from example 1.
The specified value of 𝜏 2 corresponds to an 𝐼 2 of about 91%. Let’s now compute the results assuming
𝐼 2 of 10%.
. meta summarize, i2(10) nostudies
Sensitivity meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: User-specified I2 tau2 = 0.0028
I2 (%) = 10.00
H2 = 1.11
theta: Overall Std. mean diff.
The estimate of the mean effect size is 0.059 with the 95% CI of [−0.044, 0.162]. The corresponding 𝜏 2
value is 0.0028.
In both cases above, the mean effect size is not statistically significant.
meta summarize — Summarize meta-analysis data 187
Notice that all CIs, including those for the individual studies, now correspond to the 90% confidence
level, compared with example 1. Also, the significance test now uses the Student’s 𝑡 distribution with
9 degrees of freedom, but the conclusion remains the same—the mean effect size is not statistically
significant.
You may also find meta summarize’s option eform useful when dealing with the effect sizes in the
log-transformed metric such as log odds-ratios or log risk-ratios. By default, meta summarize reports
results in the declared metric, which should be chosen such that the sampling distributions of the effect
sizes are well approximated by normal distributions. It may be more convenient, however, to display
the final results in the original metric. When you specify the eform option, it reports the exponentiated
results and the corresponding CIs. Note that the significance tests and other summary measures are still
computed based on the nonexponentiated results.
It does not make sense to exponentiate standardized mean differences in our example, but we will do
this just to demonstrate the option.
meta summarize — Summarize meta-analysis data 188
We will also use the sort() option to sort our results based on the descending order of study weights,
with larger, more precise studies appearing first.
. meta summarize, eform sort(_meta_weight, descending)
Meta-analysis summary Number of studies = 10
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0754
I2 (%) = 74.98
H2 = 4.00
exp(ES): exp(Std. mean diff.)
meta summarize, eform reports exponentiated effect sizes and their corresponding CIs. It labels the
effect-size column as exp(ES), but you can change this label to string by specifying eform(string).
Note that the eform option worked in our example because meta set declared our precomputed effect
sizes as generic. They could have been log odds-ratios, in which case eform would make perfect sense.
However, if you use meta esize to compute the standardized mean differences (for example, Hedges’s 𝑔)
and try to use eform with meta summarize, you will receive an error message because meta summarize
knows that exponentiation is not appropriate with effect sizes that correspond to continuous data. With
effect sizes lnoratio (or lnorpeto) and lnrratio computed by meta esize, you can also use the
respective options or and rr, which are synonyms for eform in those cases. These options (and eform)
will label your results as Odds ratio (Peto’s OR) and Risk ratio.
Overall
theta 0.134 -0.075 0.342
Heterogeneity summary
Test of group differences: Q_b = chi2(1) = 8.18 Prob > Q_b = 0.004
We now have two output tables. Our main table now reports results from individual studies separately
for each group, in addition to the group-specific overall effect size. The overall effect size computed
using all studies is reported at the bottom under Overall.
The second table reports the group-specific and overall heterogeneity summaries. The test of group
differences is reported at the bottom of this table.
The estimated theta for the group with contact <= 1 week is 0.581 with the 95% CI of [0.174, 0.989].
The mean effect size in this group is statistically significant at the 5% level. The estimated theta for the
group with contact > 1 week is −0.033 with the 95% CI of [−0.137, 0.071]. The mean effect size in this
group is not statistically significant at the 5% level.
If we look at the heterogeneity summaries, the <= 1 week group still has some unexplained between-
study heterogeneity with an estimated 𝐼 2 of 57% and a 𝑝-value of the homogeneity test of 0.068 < 0.1.
There does not appear to be any between-study heterogeneity in the > 1 week group: 𝐼 2 is essentially
0%, and the homogeneity test 𝑝-value is 0.618.
meta summarize — Summarize meta-analysis data 190
We should interpret our results with caution because each subgroup analysis used a few studies, with
the <= 1 week group having only 4 studies.
We can specify multiple variables in the subgroup() option. Let’s also include variable tester in
our subgroup analysis.
. meta summarize, subgroup(week1 tester)
Subgroup meta-analysis summary Number of studies = 10
Random-effects model
Method: REML
Group: week1 tester
No. of
Group studies Std. mean diff. [95% conf. interval] p-value
week1
<= 1 week 4 0.581 0.174 0.989 0.005
> 1 week 6 -0.033 -0.137 0.071 0.535
tester
Aware 7 0.059 -0.129 0.247 0.535
Blind 3 0.316 -0.206 0.837 0.235
Overall
theta 10 0.134 -0.075 0.342 0.208
Heterogeneity summary
week1
<= 1 week 3 7.14 0.068 0.095 57.03 2.33
> 1 week 5 3.53 0.618 0.000 0.00 1.00
tester
Aware 6 16.35 0.012 0.035 59.07 2.44
Blind 2 9.31 0.009 0.154 75.14 4.02
With more than one variable in subgroup(), meta summarize reports three output tables. To conserve
space, the main table does not report individual studies but reports the number of studies in each group. It
also reports the 𝑝-values of the corresponding significance tests of the overall effect sizes in each group.
The heterogeneity table reports the group summaries for each variable, in addition to the overall
summaries. The new table reports the results of tests of subgroup differences for each variable.
The studies appear to be homogeneous across the levels of the tester variable.
meta summarize — Summarize meta-analysis data 191
The correlation coefficient rho is measured on the natural scale (−1 ≤ 𝑟 ≤ 1). Many meta-analysts
(for example, Borenstein and Hedges [2019]) recommend working with the Fisher’s 𝑧-transformed cor-
relations instead of the raw correlations:
1 1 + rho 1
𝑧= log ( ) = atanh(rho) ∼ 𝑁 (0, )
2 1 − rho n−3
If the underlying data are bivariate normal, the variance of 𝑧 equals 1/(n − 3) and depends only on the
within-study sample size and not on the correlation parameter itself. Below, we use the first specification
of meta esize in example 5 of [META] meta data to compute Fisher’s 𝑧-transformed correlations:
. meta esize rho n, fisherz studylabel(studylbl) nometashow
The overall Fisher’s 𝑧 value (transformed correlation coefficient) across the 16 studies is estimated to
be 0.150 using the REML RE meta-analysis model.
The interpretation of the results, however, is easier in the natural correlation-coefficient metric, which
we can compute using the inverse transformation:
exp(2𝑧) − 1
rho = = tanh(𝑧)
exp(2𝑧) + 1
Thus, you may obtain the value of the correlation coefficient and its CI by typing
. display tanh(r(theta))
.14880413
. display ”[” tanh(r(ci_lb)) ”, ” tanh(r(ci_ub)) ”]”
[.08783366, .20866384]
More conveniently, you can use the correlation option to report correlations. This option ap-
plies the hyperbolic tangent (tanh()) transformation to the Fisher’s 𝑧-values and labels the result-
ing effect sizes as Correlation. Notice that specifying correlation is equivalent to specifying
transform(corr) or transform(Correlation: tanh).
. meta summarize, correlation
Meta-analysis summary Number of studies = 16
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0081
I2 (%) = 61.73
H2 = 2.61
Finally, the CIs for the Freeman–Tukey-transformed proportions are the standard normal-based Wald
intervals. These are stored in system variables meta cil and meta ciu. The CIs displayed in the table
above are the corresponding back-transformed (using transform(invftukey)) confidence intervals in
the proportion metric, and these are stored in meta cil transf and meta ciu transf.
When you report proportions either via the proportion or transform() option, you can use the
citype() option to display other types of CIs for the study proportions. Below, we display Wilson CIs
for the study proportions.
. meta summarize, transform(invftukey, ivariance) citype(wilson)
Effect-size label: Freeman--Tukey’s p
Effect size: _meta_es
Std. err.: _meta_se
Meta-analysis summary Number of studies = 4
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0000
I2 (%) = 0.00
H2 = 1.00
Wilson
Study Proportion [95% conf. interval] % weight
The citype() option applies to the CIs of individual studies only and not to the CI of the overall
proportion.
For demonstration purposes, let’s continue with the dataset in example 1 and use year as our ordering
variable.
. meta summarize, cumulative(year)
Cumulative meta-analysis summary Number of studies = 10
Random-effects model
Method: REML
Order variable: year
theta: Overall Std. mean diff.
The output table reports the overall effect size and its CIs for each cumulative analysis. The p-value
column contains the 𝑝-values of the significance tests of the overall effect sizes from these analyses. The
last column displays the values of the ordering variable.
In our example, no particular trend is apparent.
We can perform stratified CMA by specifying a categorical variable in cumulative()’s option by().
To demonstrate, we also specify cumulative()’s option descending to list results in descending order
of year.
. meta summarize, cumulative(year, by(week1) descending)
Stratified cumulative meta-analysis summary Number of studies = 10
Random-effects model
Method: REML
Order variable: year (descending)
Stratum: week1
theta: Overall Std. mean diff.
Sorted by: se
The output table reports the overall effect size and its CIs for each leave-one-out analysis. In this exam-
ple, the first row reports the overall effect size estimate based on all the studies excluding the Evans &
Rosenthal, 1969 study (10 − 1 = 9 studies). The p-value column contains the 𝑝-values of the sig-
nificance tests of the overall effect sizes from these analyses. The last row displays the results based on
all 10 studies. It seems that the Maxwell, 1970 study has a relatively large influence because the 95%
CI from the meta-analysis excluding that study, [−0.076, 0.119], does not contain the overall effect size
estimate based on all studies, 0.134.
meta summarize — Summarize meta-analysis data 197
Stored results
meta summarize stores the following in r():
Scalars
r(N) number of observations
r(theta) overall effect size
r(se) standard error of overall effect size
r(ci lb) lower CI bound for overall effect size
r(ci ub) upper CI bound for overall effect size
r(tau2) between-study variance
r(I2) 𝐼 2 heterogeneity statistic (not for CE model)
r(H2) 𝐻 2 heterogeneity statistic (not for CE model)
r(z) 𝑧 statistic for test of significance of overall effect size (when se() not specified)
r(t) 𝑡 statistic for test of significance of overall effect size (when se() specified)
r(df) degrees of freedom for 𝑡 distribution
r(p) 𝑝-value for test of significance of overall effect size
r(Q) Cochran’s 𝑄 heterogeneity test statistic (not for CE model)
r(df Q) degrees of freedom for heterogeneity test
r(p Q) 𝑝-value for heterogeneity test
r(Q b) Cochran’s 𝑄 statistic for test of group differences (for subgroup() with one variable)
r(df Q b) degrees of freedom for test of group differences
r(p Q b) 𝑝-value for test of group differences
r(seadj) standard error adjustment
r(level) confidence level for CIs
r(pi lb) lower bound of prediction interval
r(pi ub) upper bound of prediction interval
r(pilevel) confidence level for prediction interval
r(converged) 1 if converged, 0 otherwise (with iterative random-effects methods)
Macros
r(model) meta-analysis model
r(method) meta-analysis estimation method
r(citype) type of CI used in option citype() for meta-analysis of a single proportion
r(subgroupvars) names of subgroup-analysis variables
r(ordervar) name of order variable used in option cumulative()
r(byvar) name of variable used in suboption by() within option cumulative()
r(direction) ascending or descending
r(seadjtype) type of standard error adjustment
Matrices
r(esgroup) ESs and CIs from subgroup analysis
r(hetgroup) heterogeneity summary from subgroup analysis
r(diffgroup) results for tests of group differences from subgroup analysis
r(cumul) results from cumulative meta-analysis
r(leaveoneout) results from leave-one-out meta-analysis
r(pi info) prediction intervals from subgroup analysis
meta summarize also creates a system variable, meta weight, which contains study
weights. When the transform() option is specified, meta summarize creates system variables
meta es transf, meta cil transf, and meta ciu transf, which contain the transformed
effect sizes and lower and upper bounds of the corresponding transformed CIs.
Also see Stored results in [META] meta set and Stored results in [META] meta esize for other system
variables.
meta summarize — Summarize meta-analysis data 198
where 𝜎̂𝑗2 ’s are treated as known values that do not require estimation. Under the assumption that 𝜃1 =
𝜃2 = · · · = 𝜃𝐾 = 𝜃, the above fixed-effects model simplifies to a common-effect model (Hedges 1982;
Rosenthal and Rubin 1982):
𝜃𝑗̂ = 𝜃 + 𝜖𝑗 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 )
The estimation methods we describe below are the same for the two models, but the interpretation
of the estimates is different; see Comparison between the models and interpretation of their results in
[META] Intro. The two models estimate different population parameters. A common-effect model esti-
mates the common effect 𝜃pop = 𝜃, whereas a fixed-effects model estimates a weighted average of the
study-specific effects 𝜃𝑗̂ ’s,
∑𝐾
𝑗=1
𝑊𝑗 𝜃𝑗
𝜃pop = Ave(𝜃𝑗 ) =
∑𝐾𝑗=1
𝑊𝑗
meta summarize — Summarize meta-analysis data 199
where 𝑊𝑗 ’s represent true, unknown weights, which are defined in Rice, Higgins, and Lumley (2018,
eq. 3). For simplicity, in what follows, we will use 𝜃 to mean 𝜃pop .
Inverse-variance method
∑𝐾 𝜃 ̂ /𝜎̂𝑗2
𝑗=1 𝑗
∑𝐾 𝑤 𝜃̂
𝑗=1 𝑗 𝑗
̂ =
𝜃IV =
∑𝐾
𝑗=1
1/𝜎̂𝑗2 ∑𝐾 𝑤
𝑗=1 𝑗
where the weight 𝑤𝑗 = 1/𝜎̂𝑗2 is used to estimate the true weight 𝑊𝑗 . The inverse-variance method takes
its name from the weights being the reciprocal of the effect-size variances.
̂
The variance estimate of 𝜃IV
̂ )= 1
̂ (𝜃IV
Var
𝑤.
where 𝑤. = ∑𝐾 𝑤.
𝑗=1 𝑗
For meta-analysis that compares two binary outcomes, the Mantel–Haenszel method can be used
to combine odds ratios (OR), risk ratios (RR), and risk differences (RD) instead of the inverse-variance
method. The classical Mantel–Haenszel method (Mantel and Haenszel 1959) is used for OR, and its
extension by Greenland and Robins (1985) is used for RR and RD. The Mantel–Haenszel method may be
preferable with sparse data (Emerson 1994). This is the default pooling method in meta esize for the
effect sizes mentioned above with fixed-effects and common-effect models.
Consider the following 2 × 2 table for the 𝑗th study.
group event no event size
treatment 𝑎𝑗 𝑏𝑗 𝑛1𝑗 = 𝑎𝑗 + 𝑏𝑗
control 𝑐𝑗 𝑑𝑗 𝑛2𝑗 = 𝑐𝑗 + 𝑑𝑗
The sample size for the 𝑗th study is denoted by 𝑛𝑗 = 𝑛1𝑗 + 𝑛2𝑗 .
For the overall risk difference, the formula is
(MH)
∑𝐾 𝑤
𝑗=1 𝑗
× 𝜃𝑗̂
̂ =
𝜃MH (MH)
∑𝐾 𝑤
𝑗=1 𝑗
where 𝜃𝑗̂ is R
̂ D from the 𝑗th study.
Unlike the inverse-variance method, with log odds-ratios and log risk-ratios, the Mantel–Haenszel
method combines the individual effect sizes in the original metric and then takes the log to obtain the
final overall log odds-ratio or log risk-ratio estimate,
𝐾 (MH)
⎧
{ ∑𝑗=1 𝑤𝑗 × exp(𝜃𝑗̂ ) ⎫
}
𝜃̂
MH = ln ⎨ 𝐾 (MH) ⎬
{
⎩ ∑𝑗=1 𝑤𝑗 }
⎭
The MH weights are defined as follows. In the formula for the overall risk difference, the weight
assigned to each study is
(MH) 𝑛1𝑗 𝑛2𝑗
𝑤𝑗 =
𝑛𝑗
For the overall log risk-ratio, the 𝑗th weight is given by
(MH) 𝑛1𝑗 𝑐𝑗
𝑤𝑗 =
𝑛𝑗
And for the overall log odds-ratio, the 𝑗th weight is given by
(MH) 𝑏𝑗 𝑐𝑗
𝑤𝑗 =
𝑛𝑗
̂ =R
An estimator of the variance of the overall risk difference 𝜃MH ̂ DMH (Greenland and Robins 1985)
is
∑𝐾
𝑗=1
(𝑎𝑗 𝑏𝑗 𝑛32𝑗 + 𝑐𝑗 𝑑𝑗 𝑛31𝑗 ) /𝑛1𝑗 𝑛2𝑗 𝑛2𝑗
̂ (R
Var ̂DMH ) = 2
(∑𝐾 𝑛 𝑛 /𝑛𝑗 )
𝑗=1 1𝑗 2𝑗
̂ = ln(R
An estimator of the variance of the overall log risk-ratio 𝜃MH ̂RMH ) (Greenland and Robins 1985)
is
∑𝐾 𝑗=1
{𝑛1𝑗 𝑛2𝑗 (𝑎𝑗 + 𝑐𝑗 ) − 𝑎𝑗 𝑐𝑗 𝑛𝑗 } /𝑛2𝑗
̂ ̂
Var { ln(RRMH )} =
(∑𝐾 𝑎 𝑛 /𝑛𝑗 ) × (∑𝐾
𝑗=1 𝑗 2𝑗
𝑐 𝑛 /𝑛𝑗 )
𝑗=1 𝑗 1𝑗
̂ = ln(O
And an estimator of the variance of the overall log odds-ratio 𝜃MH ̂ RMH ) (Robins, Breslow, and
Greenland 1986; Robins, Greenland, and Breslow 1986) is
∑𝐾 𝑃𝑅
𝑗=1 𝑗 𝑗
∑𝐾
𝑗=1
(𝑃𝑗 𝑆𝑗 + 𝑄𝑗 𝑅𝑗 ) ∑𝐾 𝑄𝑆
𝑗=1 𝑗 𝑗
̂ { ln(O
Var ̂ RMH )} = + +
2 2
2 (∑𝐾 𝑅) 2 ∑𝐾 𝑅 ∑𝐾
𝑗=1 𝑗
𝑆
𝑗=1 𝑗 2 (∑𝐾 𝑆)
𝑗=1 𝑗 𝑗=1 𝑗
where
𝑎𝑗 + 𝑑𝑗 𝑏𝑗 + 𝑐𝑗 𝑎𝑗 𝑑𝑗 𝑏𝑗 𝑐𝑗
𝑃𝑗 = , 𝑄𝑗 = , 𝑅𝑗 = , and 𝑆𝑗 =
𝑛𝑗 𝑛𝑗 𝑛𝑗 𝑛𝑗
Greenland and Robins (1985) and Robins, Breslow, and Greenland (1986) demonstrate consistency
of all the above variance estimators in the two cases they call a sparse-data limiting model, in which
the number of 2 × 2 tables (studies) increases but the cell sizes remain fixed, and a large-strata limiting
model, in which the number of studies remains fixed but individual cell sizes increase.
An alternative to the Mantel–Haenszel method for combining odds ratios is the Peto’s method (Peto
et al. 1977 ; Yusuf et al. 1985 ). It is based on the inverse-variance method but uses an alternate way to
compute the odds ratios (and consequently the log odds-ratio).
meta summarize — Summarize meta-analysis data 201
Peto
̂
Let ln (O R𝑗 ) be Peto’s log odds-ratio for the 𝑗th study as defined in Odds ratio in [META] meta
esize. Then, Peto’s overall log odds-ratio is defined following the inverse-variance method as follows,
Peto
Peto
∑𝐾
𝑗=1 𝑗
̂
𝑤 ln (O R𝑗 )
𝜃̂
Peto
̂
= ln (O R )=
∑𝐾 𝑤
𝑗=1 𝑗
where 𝑤𝑗 = 1/𝜎̂𝑗2 = Var(𝑎𝑗 ) and Var(𝑎𝑗 ) is as defined in Methods and formulas of [META] meta esize
of [META] meta esize.
The variance estimate is
̂ { ln (O Peto 1
Var ̂ R )} =
∑𝐾
𝑗=1
𝑤𝑗
̂ (𝜃∗̂ ) = 1
Var
𝑤.∗
where 𝑤.∗ = ∑𝐾 𝑤∗ .
𝑗=1 𝑗
Iterative methods
The ML method (Hardy and Thompson 1996; Thompson and Sharp 1999) computes the MLE of 𝜏 2 by
maximizing the following log-likelihood function,
2
1 𝐾 (𝜃𝑗̂ − 𝜃 ̂ )
∗
2 𝐾 1 𝐾 2 2
ln𝐿ML (𝜏 ) = − ln(2𝜋) − ∑ ln (𝜎̂𝑗 + 𝜏 ) − ∑ 2
2 2 𝑗=1 2 𝑗=1 𝜎̂𝑗 + 𝜏 2
with respect to 𝜏 2 , where 𝜃∗̂ is defined in (1) and is based on the current value of 𝜏 ̂2 .
The ML method is asymptotically efficient but may produce biased results in small samples. The
REML method estimates 𝜏 2 by accounting for the uncertainty in the estimation of 𝜃, which leads to nearly
an unbiased estimate of 𝜏 2 .
The REML log-likelihood function is
𝐾
1 −1 ln(2𝜋)
ln𝐿REML (𝜏 2 ) = ln𝐿ML (𝜏 2 ) − ln {∑ (𝜎̂𝑗2 + 𝜏 2 ) } +
2 𝑗=1
2
The EB estimator and a description of the iterative process for each estimator in this section is presented
in the Methods and formulas of [META] meta regress.
Noniterative methods
The methods in this section do not make any assumptions about the distribution of the random effects.
They also do not require any iteration.
The most popular noniterative estimation method is the DL method. This is a method of moment
estimator for 𝜏 2 , and it is defined as follows,
𝑄 − (𝐾 − 1)
̂2 =
𝜏DL
∑𝐾 𝑤 − ∑𝐾
𝑗=1 𝑗
𝑤 2 / ∑𝐾
𝑗=1 𝑗
𝑤
𝑗=1 𝑗
2
where 𝑄 = ∑𝐾 𝑤 (𝜃𝑗̂ − 𝜃IV
𝑗=1 𝑗
̂ ) and 𝑤 = 1/𝜎̂ 2 .
𝑗 𝑗
̂2 is negative when 𝑄 < 𝐾 − 1, it is truncated at 0 in practice, and thus max (0, 𝜏DL
Because 𝜏DL ̂2 ) is
used to estimate the between-study variance:
⎧ 𝐾 ̂ )2 − (𝐾 − 1) ⎫
{ ∑𝑗=1 𝑤𝑗 (𝜃𝑗̂ − 𝜃IV }
̂2
𝜏DL = max ⎨0,
∑𝑗=1 𝑤𝑗 − ∑𝑗=1 𝑤𝑗 / ∑𝑗=1 𝑤𝑗 ⎬
𝐾 𝐾 2 𝐾
{
⎩ }
⎭
Hartung and Knapp (2001a) and Sidik and Jonkman (2002) proposed an adjustment to the variance
of 𝜃∗̂ to account for the uncertainty in estimating 𝜏 2 , which is used in the expression for weights. They
̂ 𝜃∗̂ ) = 1/𝑤.∗ by the following quadratic form,
proposed to multiply Var(
𝐾
1 2
𝑞KH = ∑ 𝑤𝑗∗ (𝜃𝑗̂ − 𝜃∗̂ )
𝐾 − 1 𝑗=1
𝜃∗̂ − 𝜃
̂ HK (𝜃∗̂ )
√Var
where 𝑡𝐾−1,1−𝛼/2 denotes the 1 − 𝛼/2 quantile of the Student’s 𝑡 distribution with 𝐾 − 1 degrees of
freedom.
The test statistic for the significance test of an overall effect, 𝐻0∶ 𝜃 = 0, is
𝜃∗̂
̂ HK (𝜃∗̂ )
√Var
and has the Student’s 𝑡 distribution with 𝐾 − 1 degrees of freedom.
Also see Sidik and Jonkman (2002, 2003) and Cornell et al. (2014) for more discussion about the
Knapp–Hartung adjustment.
Prediction intervals
In a random-effects model, you can compute a prediction interval (Higgins, Thompson, and Spiegel-
halter 2009) that estimates plausible ranges for 𝜃 in a future study. Compared with the CI, a prediction
interval incorporates the uncertainty in estimating 𝜏 2 in the computation.
A (1 − 𝛼) × 100% prediction interval is defined as
where 𝑡𝐾−2,1−𝛼/2 denotes the 1 − 𝛼/2 quantile of the Student’s 𝑡 distribution with 𝐾 − 2 degrees of
freedom. This prediction interval may be specified with the predinterval() option.
If the tdistribution option is specified, the 𝑧1−𝛼/2 critical value is replaced with the 𝑡𝐾−1,1−𝛼/2
critical value in the above formulas.
Heterogeneity measures
The homogeneity test can be used to test whether the study-specific effects are the same; see Ho-
mogeneity test. But with a small number of studies, this test may have low power (Hedges and Pigott
2001). Also, it does not provide an estimate of the magnitude of the between-study heterogeneity. Some
authors (for example, Higgins and Thompson [2002] and Higgins et al. [2003]) suggest examining the
heterogeneity statistics rather than relying solely on the homogeneity test.
meta summarize — Summarize meta-analysis data 205
Higgins and Thompson (2002) proposed two heterogeneity measures: 𝐼 2 and 𝐻 2 . We define them
separately for random-effects and fixed-effects models.
For a random-effects model, the two heterogeneity measures are defined as follows:
𝜏 ̂2
𝐼2 = × 100% (2)
𝜏 ̂2 + 𝑠2
and
𝜏 ̂ 2 + 𝑠2
𝐻2 = (3)
𝑠2
where
𝐾 −1
𝑠2 =
∑𝐾
𝑗=1
𝑤𝑗 − ∑ 𝐾 𝑤 2 / ∑𝐾
𝑗=1 𝑗
𝑤
𝑗=1 𝑗
is the within-study variance and 𝜏 ̂2 is an estimator of the between-study variance. The values of 𝐼 2 and
𝐻 2 will vary depending on which estimator of 𝜏 ̂2 is specified in the random() option.
For a fixed-effects model, the expressions for 𝐼 2 and 𝐻 2 are given by
𝑄 − (𝐾 − 1)
𝐼2 = { } × 100%
𝑄
and
𝑄
𝐻2 =
𝐾 −1
where 𝑄 is defined in Homogeneity test.
The formulas above for 𝐼 2 and 𝐻 2 are equivalent to the corresponding formulas (2) and (3), when
the DL method is used to estimate 𝜏 2 . 𝐼 2 is negative when 𝑄 < (𝐾 − 1) and is thus reset to zero in that
case.
⎧ √ 1 2⎫
{ √ sin 𝑝FT
̂ − }
̂ ) √1 − (sin 𝑝FT
sin 𝑝̂FT
𝑝̂ = 0.5 ⎨1 − sgn (cos 𝑝FT ̂ + ) ⎬
{ 𝑛 }
⎩ ⎷ ⎭
meta summarize — Summarize meta-analysis data 206
where sgn is the sign operator. The expression depends on the study sample size 𝑛, which is available
for each study but not for the overall (pooled) effect size. To back-transform the overall effect size 𝜃,̂
where 𝜃 ̂ is obtained by pooling the study-specific 𝑝FT
̂ ’s, to obtain the overall proportion, Miller (1978)
suggested to use 𝑛𝜃 , the harmonic mean (default) of the study-specific sample sizes, in place of 𝑛 in the
above formula. Other estimators for 𝑛𝜃 include the geometric mean, arithmetic mean, or the inverse of
the variance of the overall effect size.
Because 0 ≤ 𝑒 ≤ 𝑛, each study’s 𝑝FT ̂ must be between asin{√1/(𝑛 + 1)} and
asin{√𝑛/(𝑛 + 1)} + 𝜋/2 [see (1) in [META] meta esize]. Thus, the above back-transformation is
valid only if asin{√1(𝑛𝜃 + 1)} ≤ 𝜃 ̂ ≤ asin{√𝑛𝜃 /(𝑛𝜃 + 1)} + (𝜋/2). Therefore, in practice, the
overall proportion, 𝑝ov
̂ , is computed as follows:
Because 𝜃 ̂ can be bounded away from 0 whenever 𝜃 ̂ > asin{√1/(𝑛𝜃 + 1)}, the test statistic for
𝐻0∶ 𝜃 = 0 is adjusted as follows:
∣𝜃 ̂ − asin (√ 1 )∣ 𝑛𝜃 +1
̂ (𝜃)̂
√Var
Homogeneity test
Consider a test of 𝐻0 ∶ 𝜃1 = 𝜃2 = · · · = 𝜃𝐾 = 𝜃, known as the homogeneity test, that evaluates
whether the effect sizes are the same across the studies. It uses the following test statistic,
2
𝐾
𝐾
2
𝐾 (∑𝑗=1 𝑤𝑗 𝜃𝑗̂ )
𝑄 = ∑ 𝑤𝑗 (𝜃𝑗̂ − 𝜃)̂ = ∑ 𝑤𝑗 𝜃𝑗2̂ − 𝐾
𝑗=1 𝑗=1 ∑𝑗=1 𝑤𝑗
where 𝑤𝑗 = 1/𝜎̂𝑗2 , and 𝜃𝑗̂ and 𝜃 ̂ depend on the type of the effect size chosen.
Under the null hypothesis of homogeneity, 𝑄 follows a 𝜒2 distribution with 𝐾 −1 degrees of freedom.
Hedges and Pigott (2001) showed that the test has low power when the number of studies (𝐾) is small,
which is typical in meta-analysis. This means that the null hypothesis of homogeneity is not rejected as
often as it should be. Thus, for the homogeneity test, the meta-analysis literature (for example, Petitti
[2001]; Berman and Parker [2002]; Sutton and Higgins [2008]) suggests using the significance level
𝛼 = 0.1 instead of the conventional 𝛼 = 0.05.
The homogeneity test checks for the potential presence of heterogeneity but does not estimate the
magnitude of the heterogeneity. Thus, many authors (for example, Higgins and Thompson [2002]; Hig-
gins et al. [2003]) suggest exploring the heterogeneity statistics rather than solely relying on the test. See
Heterogeneity measures.
meta summarize — Summarize meta-analysis data 207
Subgroup meta-analysis
When the subgroup(varname) option is specified, we assume that the 𝐾 studies are partitioned into
𝐿 subgroups defined by varname. Estimates of the overall effect size and their corresponding standard
errors are calculated for each of the 𝐿 subgroups.
Let 𝜃𝑗𝑙̂ be the effect-size estimate from study 𝑗 within subgroup 𝑙 and 𝜎̂𝑗𝑙
2
be the corresponding vari-
ance, where 𝑙 = 1, 2, . . . , 𝐿 and 𝑗 = 1, 2, . . . , 𝐾𝑙 .
Below, we describe the formulas separately for fixed-effects and random-effects models. The for-
mulas for the common-effect model are the same as for the fixed-effects model. When you spec-
ify a common-effect model with subgroup analysis, this model is assumed within each subgroup 𝑙 =
1, 2, . . . , 𝐿, but not for the entire sample of studies.
Fixed-effects model
In what follows, we assume the inverse-variance method, but the same principles apply to the Man-
tel–Haenszel method.
In subgroup analysis, a fixed-effects model may be formulated as
∑𝐾 𝑙
𝑤 𝜃̂
𝑗=1 𝑗𝑙 𝑗𝑙
̂ =
𝜃IV,𝑙
∑𝐾 𝑙
𝑤
𝑗=1 𝑗𝑙
̂ is
The variance estimate of 𝜃IV,𝑙
̂ )= 1
̂ (𝜃IV,𝑙
Var
𝑤.𝑙
where 𝑤.𝑙 = ∑𝐾 𝑙
𝑤 .
𝑗=1 𝑗𝑙
Other meta-analytic quantities such as 𝐼𝑙2 and 𝑄𝑙 may also be computed for the 𝑙th subgroup just as
we described in the previous sections.
meta summarize — Summarize meta-analysis data 208
The Cochran’s 𝑄 statistic can be extended to test for differences between the 𝐿 subgroups:
2
𝐿 ∑𝐿 𝑤 𝜃̂
𝑙=1 .𝑙 IV,𝑙
̂ −
𝑄𝑏 = ∑ 𝑤.𝑙 (𝜃IV,𝑙 )
𝑙=1 ∑𝐿 𝑤
𝑙=1 .𝑙
The subscript 𝑏 in 𝑄𝑏 stands for “between” to emphasize that 𝑄𝑏 tests for “between-group” differences.
Under the null hypothesis of homogeneity between the subgroups (𝜃.1 = 𝜃.2 = · · · = 𝜃.𝐿 = 𝜃), the
statistic 𝑄𝑏 has a 𝜒2 distribution with 𝐿 − 1 degrees of freedom.
Random-effects model
Consider a random-effects model with 𝐿 subgroups and separate between-study variances 𝜏𝑙2 :
The formulas for the random-effects model are the same as for the above fixed-effects model, except
we replace the weights with the random-effects weights.
The estimate, 𝜃𝑙∗̂ , and its variance in the 𝑙th group are
∑𝐾 𝑙
𝑤∗ 𝜃 ̂
𝑗=1 𝑗𝑙 𝑗𝑙
𝜃𝑙∗̂ =
∑𝐾 𝑙
𝑤∗
𝑗=1 𝑗𝑙
̂ (𝜃𝑙∗̂ ) = 1
Var
𝑤.𝑙∗
∗
where 𝑤𝑗𝑙 2
= 1/(𝜎̂𝑗𝑙 + 𝜏𝑙̂2 ) and 𝑤.𝑙∗ = ∑𝐾 𝑙
𝑤∗ .
𝑗=1 𝑗𝑙
The Cochran’s statistic for testing differences between the 𝐿 subgroups is defined as
𝐿 2
𝐿 ∑𝑙=1 𝑤.𝑙∗ 𝜃𝑙∗̂
𝑄∗𝑏 = ∑ 𝑤.𝑙∗ (𝜃𝑙∗̂ − 𝐿
)
𝑙=1 ∑𝑙=1 𝑤.𝑙∗
Under the null hypothesis of homogeneity between the subgroups (𝜃.1 = 𝜃.2 = · · · = 𝜃.𝐿 = 𝜃), 𝑄∗𝑏 has
a 𝜒2 distribution with 𝐿 − 1 degrees of freedom.
Also see Borenstein et al. (2009, chap. 19) and Schwarzer, Carpenter, and Rücker (2015).
Cumulative meta-analysis
To perform CMA, we first sort the studies in ascending order according to the values of the variable
specified in the cumulative() option. If suboption descending is specified within the cumulative()
option, the order is reversed. Mathematically, this corresponds to sorting the pairs (𝜃𝑗̂ , 𝜎̂𝑗2 ) in the speci-
fied order. Let (𝜃𝑠̂ , 𝜎̂ 2,𝑠 ) denote the sorted pairs.
𝑗 𝑗
meta summarize — Summarize meta-analysis data 209
𝜃1𝑐̂ = 𝜃1𝑠̂
𝜃2𝑐̂ = MA (𝜃1𝑠̂ , 𝜃2𝑠̂ )
𝜃3𝑐̂ = MA (𝜃1𝑠̂ , 𝜃2𝑠̂ , 𝜃3𝑠̂ )
⋮
𝜃𝑗𝑐̂ = MA (𝜃1𝑠̂ , 𝜃2𝑠̂ , 𝜃3𝑠̂ , . . . , 𝜃𝑗𝑠̂ )
⋮
𝑐̂
𝜃𝐾 = MA (𝜃1𝑠̂ , 𝜃2𝑠̂ , 𝜃3𝑠̂ , . . . , 𝜃𝐾
𝑠̂
)
where MA (𝜃1𝑠̂ , 𝜃2𝑠̂ , 𝜃3𝑠̂ , . . . , 𝜃𝑗𝑠̂ ) denotes a meta-analysis applied to the sorted studies 1 through 𝑗. Note
that the meta-analysis also depends on the values 𝜎̂𝑗2,𝑠 but we omitted them from MA() for notational
convenience.
If suboption by(byvar) is specified within the cumulative() option, the above procedure is repeated
for each subgroup defined by variable byvar.
Leave-one-out meta-analysis
̂ ’s as follows,
Leave-one-out meta-analysis estimates 𝐾 overall effect sizes 𝜃−𝑗
̂ = MA (𝜃 ̂ , 𝜃 ̂ , . . . , 𝜃 ̂ )
𝜃−1 2 3 𝐾
̂ = MA (𝜃 ̂ , 𝜃 ̂ , . . . , 𝜃 ̂ )
𝜃−2 1 3 𝐾
⋮
̂ = MA (𝜃 ̂ , 𝜃 ̂ , . . . , 𝜃 ̂ , 𝜃 ̂ , . . . , 𝜃 ̂ )
𝜃−𝑗 1 2 𝑗−1 𝑗+1 𝐾
⋮
𝜃̂
−𝐾 = MA (𝜃1̂ , 𝜃2̂ , 𝜃3̂ , . . . , 𝜃𝐾−1
̂ )
References
Barendregt, J. J., S. A. Doi, Y. Y. Lee, R. E. Norman, and T. Vos. 2013. Meta-analysis of prevalence. Journal of Epidemi-
ology and Community Health 67: 974–978. [Link]
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
Berman, N. G., and R. A. Parker. 2002. Meta-analysis: Neither quick nor easy. BMC Medical Research Methodology 2:
art. 10. [Link]
Borenstein, M., and L. V. Hedges. 2019. “Effect sizes for meta-analysis”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 207–243. 3rd ed. New York: Russell Sage
Foundation.
Borenstein, M., L. V. Hedges, J. P. T. Higgins, and H. R. Rothstein. 2009. Introduction to Meta-Analysis. Chichester, UK:
Wiley.
Bradburn, M. J., J. J. Deeks, and D. G. Altman. 2016. “metan—A command for meta-analysis in Stata”. In Meta-Analysis
in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 4–28. 2nd ed. College
Station, TX: Stata Press.
Cornell, J. E., C. D. Mulrow, A. R. Localio, C. B. Stack, A. R. Meibohm, E. Guallar, and S. N. Goodman. 2014. Random-
effects meta-analysis of inconsistent effects: A time for change. Annals of Internal Medicine 160: 267–270. https:
//[Link]/10.7326/M13-2886.
DerSimonian, R., and N. M. Laird. 1986. Meta-analysis in clinical trials. Controlled Clinical Trials 7: 177–188. https:
//[Link]/10.1016/0197-2456(86)90046-2.
Emerson, J. D. 1994. Combining estimates of the odds ratio: The state of the art. Statistical Methods in Medical Research
3: 157–178. [Link]
Fisher, D. J. 2016. “Two-stage individual participant data meta-analysis and generalized forest plots”. In Meta-Analysis
in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 280–307. 2nd ed.
College Station, TX: Stata Press.
Greenland, S., and J. M. Robins. 1985. Estimation of a common effect parameter from sparse follow-up data. Biometrics
41: 55–68. [Link]
Hardy, R. J., and S. G. Thompson. 1996. A likelihood approach to meta-analysis with random effects. Statistics in Medicine
15: 619–629. [Link]
———. 1998. Detecting and describing heterogeneity in meta-analysis. Statistics in Medicine 17: 841–856. [Link]
org/10.1002/(sici)1097-0258(19980430)17:8<841::aid-sim781>[Link];2-d.
Hartung, J. 1999. An alternative method for meta-analysis. Biometrical Journal 41: 901–916. [Link]
(SICI)1521-4036(199912)41:8<901::AID-BIMJ901>[Link];2-W.
Hartung, J., and G. Knapp. 2001a. On tests of the overall treatment effect in meta-analysis with normally distributed
responses. Statistics in Medicine 20: 1771–1782. [Link]
———. 2001b. A refined method for the meta-analysis of controlled clinical trials with binary outcome. Statistics in
Medicine 20: 3875–3889. [Link]
Hedges, L. V. 1982. Estimation of effect size from a series of independent experiments. Psychological Bulletin 92:
490–499. [Link]
———. 1983. A random effects model for effect sizes. Psychological Bulletin 93: 388–395. [Link]
2909.93.2.388.
Hedges, L. V., and I. Olkin. 1985. Statistical Methods for Meta-Analysis. Orlando, FL: Academic Press.
Hedges, L. V., and T. D. Pigott. 2001. The power of statistical tests in meta-analysis. Psychological Methods 6: 203–217.
[Link]
Hedges, L. V., and J. L. Vevea. 1998. Fixed- and random-effects models in meta-analysis. Psychological Methods 3:
486–504. [Link]
Higgins, J. P. T., and S. G. Thompson. 2002. Quantifying heterogeneity in a meta-analysis. Statistics in Medicine 21:
1539–1558. [Link]
meta summarize — Summarize meta-analysis data 211
Higgins, J. P. T., S. G. Thompson, J. J. Deeks, and D. G. Altman. 2003. Measuring inconsistency in meta-analyses. BMJ
327: 557–560. [Link]
Higgins, J. P. T., S. G. Thompson, and D. J. Spiegelhalter. 2009. A re-evaluation of random-effects meta-analysis. Journal
of the Royal Statistical Society, A ser., 172: 137–159. [Link]
Knapp, G., and J. Hartung. 2003. Improved tests for a random effects meta-regression with a single covariate. Statistics
in Medicine 22: 2693–2710. [Link]
Kontopantelis, E., and D. Reeves. 2016. “metaan: Random-effects meta-analysis”. In Meta-Analysis in Stata: An Updated
Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 55–67. 2nd ed. College Station, TX: Stata
Press.
Lau, J., E. M. Antman, J. Jimenez-Silva, B. Kupelnick, F. Mosteller, and T. C. Chalmers. 1992. Cumulative meta-analysis
of therapeutic trials for myocardial infarction. New England Journal of Medicine 327: 248–254. [Link]
NEJM199207233270406.
Mantel, N., and W. Haenszel. 1959. Statistical aspects of the analysis of data from retrospective studies of disease. Journal
of the National Cancer Institute 22: 719–748. Reprinted in Evolution of Epidemiologic Ideas: Annotated Readings on
Concepts and Methods, ed. S. Greenland, pp. 112–141. Newton Lower Falls, MA: Epidemiology Resources.
Miller, J. J. 1978. The inverse of the Freeman–Tukey double arcsine transformation. American Statistician 32: 138. https:
//[Link]/10.1080/00031305.1978.10479283.
Morris, C. N. 1983. Parametric empirical Bayes inference: Theory and applications. Journal of the American Statistical
Association 78: 47–55. [Link]
Paule, R. C., and J. Mandel. 1982. Consensus values and weighting factors. Journal of Research of the National Bureau of
Standards 87: 377–385. [Link]
Petitti, D. B. 2001. Approaches to heterogeneity in meta-analysis. Statistics in Medicine 20: 3625–3633. [Link]
10.1002/sim.1091.
Peto, R., M. C. Pike, P. Armitage, N. E. Breslow, D. R. Cox, S. V. Howard, N. Mantel, K. McPherson, J. Peto, and P. G.
Smith. 1977. Design and analysis of randomized clinical trials requiring prolonged observation of each patient. II.
Analysis and examples. British Journal of Cancer 35: 1–39. [Link]
Raudenbush, S. W. 1984. Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of ex-
pectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology 76: 85–97.
[Link]
———. 2009. “Analyzing effect sizes: Random-effects models”. In The Handbook of Research Synthesis and Meta-
Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 295–316. 2nd ed. New York: Russell Sage Foundation.
Raudenbush, S. W., and A. S. Bryk. 1985. Empirical Bayes meta-analysis. Journal of Educational Statistics 10: 75–98.
[Link]
Rice, K., J. P. T. Higgins, and T. S. Lumley. 2018. A re-evaluation of fixed effect(s) meta-analysis. Journal of the Royal
Statistical Society, A ser., 181: 205–227. [Link]
Robins, J. M., N. E. Breslow, and S. Greenland. 1986. Estimators of the Mantel–Haenszel variance consistent in both
sparse data and large-strata limiting models. Biometrics 42: 311–323. [Link]
Robins, J. M., S. Greenland, and N. E. Breslow. 1986. A general estimator for the variance of the Mantel–Haenszel odds
ratio. American Journal of Epidemiology 124: 719–723. [Link]
Rosenthal, R., and D. B. Rubin. 1982. Comparing effect sizes of independent studies. Psychological Bulletin 92: 500–504.
[Link]
Schmidt, F. L., and J. E. Hunter. 2015. Methods of Meta-Analysis: Correcting Error and Bias in Research Findings. 3rd ed.
Thousand Oaks, CA: Sage. [Link]
Schwarzer, G., J. R. Carpenter, and G. Rücker. 2015. Meta-Analysis with R. New York: Springer. [Link]
978-3-319-21416-0.
Sidik, K., and J. N. Jonkman. 2002. A simple confidence interval for meta-analysis. Statistics in Medicine 21: 3153–3159.
[Link]
———. 2003. On constructing confidence intervals for a standardized mean difference in meta-analysis. Communications
in Statistics—Simulation and Computation 32: 1191–1203. [Link]
meta summarize — Summarize meta-analysis data 212
———. 2005. A note on variance estimation in random effects meta-regression. Journal of Biopharmaceutical Statistics
15: 823–838. [Link]
Sterne, J. A. C. 2016. “Cumulative meta-analysis”. In Meta-Analysis in Stata: An Updated Collection from the Stata Journal,
edited by T. M. Palmer and J. A. C. Sterne, 68–77. 2nd ed. College Station, TX: Stata Press.
Sutton, A. J., and J. P. T. Higgins. 2008. Recent developments in meta-analysis. Statistics in Medicine 27: 625–650.
[Link]
Thompson, S. G., and S. J. Sharp. 1999. Explaining heterogeneity in meta-analysis: A comparison of methods. Statistics
in Medicine 18: 2693–2708. [Link]
Veroniki, A. A., D. Jackson, W. Viechtbauer, R. Bender, J. Bowden, G. Knapp, O. Kuss, J. P. T. Higgins, D. Langan,
and G. Salanti. 2016. Methods to estimate the between-study variance and its uncertainty in meta-analysis. Research
Synthesis Methods 7: 55–79. [Link]
Viechtbauer, W., J. A. López-López, J. Sánchez-Meca, and F. Marín-Martínez. 2015. A comparison of procedures to test
for moderators in mixed-effects meta-regression models. Psychological Methods 20: 360–374. [Link]
met0000023.
Yusuf, S., R. Peto, J. A. Lewis, R. Collins, and P. Sleight. 1985. Beta blockade during and after myocardial infarction: An
overview of the randomized trials. Progress in Cardiovascular Diseases 27: 335–371. [Link]
0620(85)80003-7.
Also see
[META] meta data — Declare meta-analysis data
[META] meta forestplot — Forest plots
[META] meta galbraithplot — Galbraith plots
[META] meta regress — Meta-analysis regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta galbraithplot — Galbraith plots
Description
meta galbraithplot produces Galbraith plots for a meta-analysis. These plots are useful for as-
sessing heterogeneity of the studies and for detecting potential outliers. They may also be an alternative
to forest plots for summarizing meta-analysis results when there are many studies.
Quick start
Produce a Galbraith plot after data are declared by using either meta set or meta esize
meta galbraithplot
Same as above, but request that the slope of the regression line, the standardized effect-sizes, and the
study precisions be computed using a random-effects REML method instead of the default common-
effect inverse-variance method
meta galbraithplot, random(reml)
Same as above, but suppress the CI bands
meta galbraithplot, random(reml) noci
Modify the default styles of the reference and regression lines
meta galbraithplot, rlopts(lcolor(red)) lineopts(lpattern(dash))
Menu
Statistics > Meta-analysis
213
meta galbraithplot — Galbraith plots 214
Syntax
meta galbraithplot [ if ] [ in ] [ , options ]
options Description
Main
random[ (remethod) ] random-effects meta-analysis
common common-effect meta-analysis; implies inverse-variance method; the default
fixed fixed-effects meta-analysis; implies inverse-variance method
[ no ]regline display or suppress the regression line
[ no ]ci display or suppress the confidence intervals
level(#) set confidence level; default is as declared for meta-analysis
[ no ]metashow display or suppress meta settings in the output
graph options affect rendition of overall Galbraith plot
[ no ]lowercase lowercase (default) or display as is the first word of the effect-size label
used in the 𝑦-axis title
collect is allowed; see [U] 11.1.10 Prefix commands.
lowercase and nolowercase do not appear in the dialog box.
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
Options
Main
random(), common, and fixed specify a meta-analysis model to use when estimating the slope of the re-
gression line in the Galbraith plot. These options also affect the standard error computation used in the
standardization of the effect sizes. For historical reasons, the default is common based on the inverse-
variance method, regardless of the global model declared by meta set or meta esize. Specify one
of these options with meta galbraithplot to override this default.
random and random(remethod) specify that a random-effects model be assumed for the construction
of the Galbraith plot; see Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common specifies that a common-effect model be assumed for the construction of the Galbraith plot;
see Common-effect (“fixed-effect”) model in [META] Intro. It uses the inverse-variance estima-
tion method; see Meta-analysis estimation methods in [META] Intro. Also see the discussion in
[META] meta data about common-effect versus fixed-effects models.
fixed specifies that a fixed-effects model be assumed for the construction of the Galbraith plot; see
Fixed-effects model in [META] Intro. It uses the inverse-variance estimation method; see Meta-
analysis estimation methods in [META] Intro. Also see the discussion in [META] meta data about
fixed-effects versus common-effect models. Galbraith plots for the common-effect and fixed-
effects models are identical.
regline and noregline display or suppress the rendition of the regression line. The default, regline,
is to display the regression line. Option noregline implies option noci.
ci and noci display or suppress confidence intervals. The default, ci, is to display them.
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set.
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
RL options
rlopts(line options) affects the rendition of the plotted reference (diagonal) line that indicates no effect
of the intervention or treatment; see [G-3] line options.
Fitted line
lineopts(line options) affects the rendition of the plotted regression line; see [G-3] line options.
CI plot
ciopts(ciopts) affects the rendition of the CI band in the Galbraith plot. ciopts are any options as defined
in [G-2] graph twoway rline and option recast(rline) as described in [G-3] advanced options.
meta galbraithplot — Galbraith plots 216
Add plots
addplot(plot) allows adding more graph twoway plots to the graph; see [G-3] addplot option.
Y axis, X axis, Titles, Legend, Overall
twoway options are any of the options documented in [G-3] twoway options, excluding by(). These
include options for titling the graph (see [G-3] title options) and for saving the graph to disk (see
[G-3] saving option).
The following options are available with meta galbraithplot but are not shown in the dialog box:
lowercase and nolowercase lowercase or leave as is the first word of the effect-size label shown on
the 𝑦-axis title. The 𝑦-axis title is “Standardized eslabel”, where eslabel is the effect-size label defined
by meta set or meta esize using the eslabel() option. By default, the command lowercases the
first word of eslabel to follow Stata’s sentence capitalization style. If the first word is a proper name
or if you want to use the title capitalization style, you can specify option nolowercase to display
eslabel as is.
By default, the global CI level specified in meta set or meta esize is used to compute 𝑧1−𝛼/2 but
a different level may be selected via the level() option. The regression line (and consequently its CI
bands) may be suppressed via the noregline option.
If you wish to only suppress the CI bands, then you may specify the noci option. You can also control
the look of the plotted reference line, the regression line, and the CI bands by specifying the rlopts(),
lineopts(), and ciopts() options, respectively.
Galbraith plot
5
Standardized log risk-ratio (θj/sej)
0
95% CI
Studies
Regression line
No effect
-5
-10
0 5 10 15 20
Precision (1/sej)
sej: estimated σj
The blue circles form a scatterplot of the study-specific standardized log risk-ratios against study preci-
sions. Studies that are close to the 𝑦 axis have low precision. Precision of studies increases as you move
toward the right on the 𝑥 axis.
The reference black line (𝑦 = 0) represents the “no-effect” line. That is, the log risks (or risks) in the
treatment and control groups for the trials on the line are either the same or very similar. There are two
trials that are on the line in our example: one is a large trial, and the other one is a small trial. The log
risks for these trials are similar in the two groups, and the corresponding log risk-ratios are close to zero.
If a circle is above the reference line, the risk in the treatment group is higher than the risk in the
control group for that study. Conversely, if a circle is below the line, the risk in the treatment group is
lower than the risk in the control group. In our example, one trial is above the reference line, suggesting
that the risk in the treatment group is higher, but this is an imprecise trial. The remaining trials are below
the line, suggesting that the risk is lower in the treatment group.
meta galbraithplot — Galbraith plots 218
The red line is the regression line through the origin. The slope of this line equals the estimate of the
overall effect size, which is the overall log risk-ratio in our example. Also, the slope of an imaginary line
from the origin to an individual circle is equal to the effect size (log risk-ratio) estimate corresponding
to that circle. This is because the slope is given by 𝑦𝑗 /𝑥𝑗 = (𝜃𝑗̂ /𝜎̂𝑗 )/(1/𝜎̂𝑗 ) = 𝜃𝑗̂ . Thus, studies that fall
above the regression line have effect-size estimates larger than the overall effect size, and those falling
below the line have estimates that are smaller than the overall effect size.
In the absence of substantial heterogeneity, we expect around 95% of the studies to lie within the 95%
CI region (shaded area). In our example, there are 6 trials out of 13 that are outside of the CI region.
We should suspect the presence of heterogeneity in these data. In fact, we did establish in example 1
of [META] meta regress that there is at least one moderator, the distance from the equator, that explains
some of the variation in the trial effect sizes.
Galbraith plot
5
95% CI
Studies
Standardized log risk-ratio (θj/sej)
Regression line
No effect
0
-5
-10
0 5 10 15 20
Precision (1/sej)
sej: estimated σj
We customized the legend with a few suboptions specified in legend() (see [G-3] legend options).
We used symxsize(*0.4) to set the width of the key symbols to 40% of their default width. We used
position(12) to position the label at 12 o’clock and ring(0) to place the legend inside the plot region.
We used region(lcolor(black)) to add a black border around the legend region.
meta galbraithplot — Galbraith plots 219
Galbraith plot
5
Standardized log risk-ratio (θj/sej)
0
95% CI
Regression line
No effect
Low latitude
-5 High latitude
-10
0 5 10 15 20
Precision (1/sej)
sej: estimated σj
First, we generated two new variables, precision and zscore, that contain the precisions, 1/𝜎̂𝑗 , and 𝑧
scores, 𝜃𝑗̂ /𝜎̂𝑗 , of the studies. Then, we constructed a Galbraith plot without study markers (without the
blue circles) using the msymbol(none) option. Finally, we used addplot() to overlay two scatterplots
corresponding to low and high latitudes. The order() suboption within legend() displays informa-
tive legend keys for the added scatterplots in the legend box at the bottom of the plot (see [G-3] leg-
end options).
All circles in the “high latitude” group (colder climate) fall below the regression line. Thus, the
reported risk ratios in colder climates are below the overall risk-ratio estimate, confirming our findings
in example 9 of [META] meta that the vaccine is more efficient in colder areas. In the “low latitude”
group, only one study (study 7: Vandiviere et al., 1973) had a risk ratio below the overall risk-
ratio estimate. Note that this study was also identified as an outlier in the bubble plot of example 4 of
[META] estat bubbleplot.
meta galbraithplot — Galbraith plots 220
Stored results
meta galbraithplot stores the following in r():
Scalars
r(theta) estimated overall effect size
r(tau2) estimated between-study variance (when random() is specified)
Macros
r(model) meta-analysis model
r(method) meta-analysis estimation method
References
Anzures-Cabrera, J., and J. P. T. Higgins. 2010. Graphical displays for meta-analysis: An overview with suggestions for
practice. Research Synthesis Methods 1: 66–80. [Link]
Galbraith, R. F. 1988. A note on graphical representation of estimated odds ratios from several clinical trials. Statistics in
Medicine 7: 889–894. [Link]
Also see
[META] meta data — Declare meta-analysis data
[META] meta forestplot — Forest plots
[META] meta labbeplot — L’Abbé plots
[META] meta regress — Meta-analysis regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta labbeplot — L’Abbé plots
Description
meta labbeplot produces L’Abbé plots for a meta-analysis that compares the binary outcomes of
two groups. These plots are useful for assessing heterogeneity and comparing study-specific event rates
in the two groups.
Quick start
Construct a L’Abbé plot based on the effect size for two-sample binary data computed by meta esize
meta labbeplot
Same as above, but request that the overall effect size be computed using a random-effects REML method
instead of the default common-effect inverse-variance method
meta labbeplot, random(reml)
Same as above, but specify that study-marker sizes be proportional to weights from a random-effects
model instead of the default common-effect model
meta labbeplot, random(reml) reweighted
Modify the default looks of the reference line and the overall effect-size line
meta labbeplot, rlopts(lcolor(red)) esopts(lpattern(solid))
Menu
Statistics > Meta-analysis
221
meta labbeplot — L’Abbé plots 222
Syntax
meta labbeplot [ if ] [ in ] [ , options ]
options Description
Main
random[ (remethod) ] random-effects meta-analysis
common[ (cefemethod ) ] common-effect meta-analysis
fixed[ (cefemethod ) ] fixed-effects meta-analysis
reweighted make bubble size depend on random-effects weights
[ no ]metashow display or suppress meta settings in the output
graph options affect rendition of overall L’Abbé plot
collect is allowed; see [U] 11.1.10 Prefix commands.
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
cefemethod Description
mhaenszel Mantel–Haenszel
invvariance inverse variance
ivariance synonym for invvariance
Options
Main
Options random(), common(), and fixed() specify a meta-analysis model to use when estimating the
overall effect size. For historical reasons, the default is common(invvariance), regardless of the global
model declared by meta esize. Specify one of these options with meta labbeplot to override this
default. Options random(), common(), and fixed() may not be combined. Also see Meta-analysis
models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis; see
Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common and common(cefemethod) specify that a common-effect model be assumed for meta-analysis;
see Common-effect (“fixed-effect”) model in [META] Intro. Also see the discussion in [META] meta
data about common-effect versus fixed-effects models.
common implies common(mhaenszel).
cefemethod is one of mhaenszel or invvariance (synonym ivariance). See Options in
[META] meta esize for more information.
fixed and fixed(cefemethod) specify that a fixed-effects model be assumed for meta-analysis; see
Fixed-effects model in [META] Intro. Also see the discussion in [META] meta data about fixed-effects
versus common-effect models.
fixed implies fixed(mhaenszel).
cefemethod is one of mhaenszel or invvariance (synonym ivariance); see Options in
[META] meta esize for more information.
reweighted is used with random-effects meta-analysis. It specifies that the sizes of the bubbles be
proportional to the weights from the random-effects meta-analysis, 𝑤𝑗∗ = 1/(𝜎̂𝑗2 + 𝜏 ̂2 ). By default,
the sizes are proportional to the precision of each study, 𝑤𝑗 = 1/𝜎̂𝑗2 .
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
RL options
rlopts(line options) affects the rendition of the plotted reference (diagonal) line that indicates no effect
of the intervention or treatment; see [G-3] line options.
ES options
esopts(line options) affects the rendition of the dashed line that plots the estimated overall effect size;
see [G-3] line options.
meta labbeplot — L’Abbé plots 224
Add plots
addplot(plot) allows adding more graph twoway plots to the graph; see [G-3] addplot option.
Y axis, X axis, Titles, Legend, Overall
twoway options are any of the options documented in [G-3] twoway options, excluding by(). These
include options for titling the graph (see [G-3] title options) and for saving the graph to disk (see
[G-3] saving option).
L'Abbé plot
-1
Log risk (treatment group)
-2.5
Studies
-4 No effect
Estimated θIV
-5.5
-7
-7 -5.5 -4 -2.5 -1
Log risk (control group)
Weights: Inverse-variance
From the displayed meta settings, the declared effect size is a log risk-ratio. Thus, meta labbeplot
plots the log risks on the scatterplot. The treatment-group log risk is on the 𝑦 axis, and the control-group
log risk is on the 𝑥 axis. The sizes of the plotted markers (circles) are proportional to the precision of
the trials. Large circles represent more precise, larger trials, whereas small circles represent less precise,
smaller trials.
The solid reference line (𝑦 = 𝑥) represents the “no-effect” line. That is, the log risks (or risks) in the
two groups for the trials on the line are either the same or very similar. There are two trials that are on
the line in our example: one is a large trial, the other one is a small trial. The log risks for these trials are
very similar in the two groups, and the corresponding log risk-ratios are close to zero.
If a circle is above the reference line, the risk in the treatment group is higher than the risk in the
control group for that study. Conversely, if a circle is below the line, the risk in the treatment group is
lower than the risk in the control group. In our example, one trial is above the reference line, suggesting
that the risk in the treatment group is higher, but this is a very small trial. The remaining trials are below
the line, suggesting that the risk is lower in the treatment group. However, the trials demonstrating large
differences between the groups are also smaller (less precise) trials.
The dashed line is the overall effect-size line. The intercept of this line equals the estimate of the
overall effect size, which is the overall log risk-ratio in our example. The actual estimate of the overall
effect size is not important in the L’Abbé plot. What is important is whether the circles follow the effect-
size line or deviate from it. When the circles deviate from the effect-size line greatly, this may be a sign
of study heterogeneity. In our example, there are at least five trials that are far away from the effect-size
meta labbeplot — L’Abbé plots 226
line. We should suspect the presence of heterogeneity in these data. In fact, we did establish in example 1
of [META] meta regress that there is at least one moderator, the distance from the equator, that explains
some of the variation in the trial effect sizes.
L'Abbé plot
-1
Studies
No effect
Estimated θIV
Log risk (treatment group)
-2.5
-4
-5.5
-7
-7 -5.5 -4 -2.5 -1
Log risk (control group)
Weights: Inverse-variance
We customized the legend with a few suboptions specified in legend(). We used symxsize(*0.6)
to set the width of the key symbols to 60% of their default width. We used position(10) to po-
sition the label at 10 o’clock and ring(0) to place the legend inside the plot region. We used
region(lcolor(black)) to add a black border around the legend region.
meta labbeplot — L’Abbé plots 227
L'Abbé plot
-1
6
Log risk (treatment group)
-2.5
1 Studies
-4 2 No effect
3 Estimated θIV
10
5
8
-5.5 4
11 9
7
12
13
-7
-7 -5.5 -4 -2.5 -1
Log risk (control group)
Weights: Inverse-variance
First, we generated two new variables, lnriskt and lnriskc, that contain the log risks in the treatment
and control groups. Then, we used addplot() to overlay the same scatterplot as produced by meta
labbeplot but without the markers and with marker labels. We specified other options to improve
the look of the graph; see example 3 of [META] estat bubbleplot for details. Also see example 4 of
[META] estat bubbleplot for how to further improve the positioning of the labels.
meta labbeplot — L’Abbé plots 228
Stored results
meta labbeplot stores the following in r():
Scalars
r(theta) estimated overall effect size
r(xmin) minimum value in the control group (𝑥 axis)
r(xmax) maximum value in the control group
r(ymin) minimum value in the treatment group (𝑦 axis)
r(ymax) maximum value in the treatment group
Macros
r(model) meta-analysis model
r(method) meta-analysis estimation method
𝑎𝑗 𝑐𝑗
𝑦𝑗 = and 𝑥𝑗 =
𝑎𝑗 + 𝑏𝑗 𝑐𝑗 + 𝑑𝑗
When the effect size is log risk-ratio, 𝑦𝑗 and 𝑥𝑗 are the log risks given by
𝑎𝑗 𝑐𝑗
𝑦𝑗 = log ( ) and 𝑥𝑗 = log ( )
𝑎𝑗 + 𝑏 𝑗 𝑐𝑗 + 𝑑𝑗
When the effect size is log odds-ratio, 𝑦𝑗 and 𝑥𝑗 are the log odds given by
𝑎𝑗 𝑐𝑗
𝑦𝑗 = log ( ) and 𝑥𝑗 = log ( )
𝑏𝑗 𝑑𝑗
The plotted reference line is the diagonal line. Studies that have the same values of the summary
outcome measures in the two groups will have 𝑦𝑗 = 𝑥𝑗 and thus will fall on the reference line.
The effect-size (dashed) line is a 45-degree line with an intercept equal to the estimated overall effect
size. By default, the overall effect-size is estimated assuming a common-effect model with the inverse-
variance method, but this can be changed by specifying one of random(), common(), or fixed().
References
Anzures-Cabrera, J., and J. P. T. Higgins. 2010. Graphical displays for meta-analysis: An overview with suggestions for
practice. Research Synthesis Methods 1: 66–80. [Link]
L’Abbé, K. A., A. S. Detsky, and K. O’Rourke. 1987. Meta-analysis in clinical research. Annals of Internal Medicine
Journal 107: 224–233. [Link]
meta labbeplot — L’Abbé plots 229
Also see
[META] meta data — Declare meta-analysis data
[META] meta esize — Compute effect sizes and declare meta-analysis data
[META] meta forestplot — Forest plots
[META] meta galbraithplot — Galbraith plots
[META] meta regress — Meta-analysis regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta regress — Meta-analysis regression
Description
meta regress performs meta-analysis regression, or meta-regression, which is a linear regression
of the study effect sizes on study-level covariates (moderators). Meta-regression investigates whether
between-study heterogeneity can be explained by one or more moderators. You can think of meta-
regression as a standard meta-analysis that incorporates moderators into the model. meta regress per-
forms both random-effects and fixed-effects meta-regression.
Quick start
Perform meta-regression of the effect size, meta es, on covariate (moderator) x1
meta regress x1
Same as above, but assume a DerSimonian–Laird random-effects method instead of the method declared
by either meta set or meta esize
meta regress x1, random(dlaird)
Add a factor variable a, and request a Knapp–Hartung adjustment to the standard errors of coefficients
meta regress x1 i.a, random(dlaird) se(khartung)
Perform a sensitivity analysis by assuming a fixed value of 0.2 for the between-study variance 𝜏 2
meta regress x1 i.a, tau2(0.2)
Menu
Statistics > Meta-analysis
230
meta regress — Meta-analysis regression 231
Syntax
Meta-regression using meta-analysis model as declared with meta set or meta esize
meta regress moderators [ if ] [ in ] [ , reopts options ]
Random-effects meta-regression
meta regress moderators [ if ] [ in ], random[ (remethod ) ] [ reopts options ]
Fixed-effects meta-regression
meta regress moderators [ if ] [ in ], fixed [ multiplicative options ]
Constant-only meta-regression
meta regress cons [ if ] [ in ] [ , modelopts ]
reopts Description
tau2(#) sensitivity meta-analysis using a fixed value of between-study variance 𝜏 2
i2(#) 2
sensitivity meta-analysis using a fixed value of heterogeneity statistic 𝐼res
se(seadj) adjust standard errors of the coefficients
options Description
Model
noconstant suppress constant term
tdistribution report 𝑡 tests instead of 𝑧 tests for the coefficients
Reporting
level(#) set confidence level; default is as declared for meta-analysis
noheader suppress output header
[ no ]metashow display or suppress meta settings in the output
display options control columns and column formats, row spacing, line width,
display of omitted variables and base and empty cells, and
factor-variable labeling
Maximization
maximize options control the maximization process; seldom used
coeflegend display legend instead of statistics
moderators may contain factor variables; see [U] 11.4.3 Factor variables.
collect is allowed; see [U] 11.1.10 Prefix commands.
coeflegend does not appear in the dialog box.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
meta regress — Meta-analysis regression 232
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
Options
Model
noconstant; see [R] Estimation options. This option is not allowed with constant-only meta-
regression.
Options random() and fixed, when specified with meta regress, temporarily override the global
model declared by meta set or meta esize during the computation. Options random(), common, and
fixed may not be combined. If these options are omitted, the declared meta-analysis model is assumed;
see Declaring a meta-analysis model in [META] meta data. Also see Meta-analysis models in [META] In-
tro.
random and random(remethod) specify that a random-effects model be assumed for meta-regression;
see Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
fixed specifies that a fixed-effects model be assumed for meta-regression; see Fixed-effects model in
[META] Intro. It uses the inverse-variance estimation method; see Meta-analysis estimation methods
in [META] Intro.
reopts are tau2(#), i2(#), and se(khartung[ , truncated ]). These options are used with random-
effects meta-regression.
tau2(#) specifies the value of the between-study variance parameter, 𝜏 2 , to use for the random-effects
meta-regression. This option is useful for exploring the sensitivity of the results to different levels
of between-study heterogeneity. Only one of tau2() or i2() may be specified.
i2(#) specifies the value of the residual heterogeneity statistic 𝐼res
2
(as a percentage) to use for the
random-effects meta-regression. This option is useful for exploring the sensitivity of the results to
different levels of between-study heterogeneity. Only one of i2() or tau2() may be specified.
meta regress — Meta-analysis regression 233
se(seadj) specifies that the adjustment seadj be applied to the standard errors of the coefficients.
Additionally, the tests of significance of the coefficients are based on a Student’s 𝑡 distribution
instead of the normal distribution.
seadj is khartung[ , truncated ]. Adjustment khartung specifies that the Knapp–Hartung
adjustment (Hartung and Knapp 2001a, 2001b; Knapp and Hartung 2003), also known as the
Sidik–Jonkman adjustment (Sidik and Jonkman 2002), be applied to the standard errors of the
coefficients. hknapp and sjonkman are synonyms for khartung. truncated specifies that the
truncated Knapp–Hartung adjustment (Knapp and Hartung 2003), also known as the modified
Knapp–Hartung adjustment, be used.
multiplicative performs a fixed-effects meta-regression that accounts for residual heterogeneity by
including a multiplicative variance parameter 𝜙. 𝜙 is referred to as an “(over)dispersion parameter”.
See Introduction for details.
tdistribution reports 𝑡 tests instead of 𝑧 tests for the coefficients. This option is useful, for instance,
when meta regress is used to conduct a regression-based test for funnel-plot asymmetry. Tradition-
ally, the test statistic from this test is compared with critical values from a Student’s 𝑡 distribution
instead of the default normal distribution. This option may not be combined with option se().
Reporting
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set.
noheader suppresses the output header, either at estimation or upon replay.
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
display options: noci, nopvalues, noomitted, vsquish, noemptycells, baselevels,
allbaselevels, nofvlabel, fvwrap(#), fvwrapon(style), cformat(% fmt ), pformat(% fmt ),
sformat(% fmt ), and nolstretch; see [R] Estimation options.
Maximization
The following option is available with meta regress but is not shown in the dialog box:
coeflegend; see [R] Estimation options.
meta regress — Meta-analysis regression 234
Introduction
Meta-regression is a regression performed in the context of meta-analysis. It is used to study the
relationship between study effect sizes and covariates. Meta-regression is analogous to standard regres-
sion used when individual data are available, but in meta-regression, the observations are the studies, the
outcome of interest is the effect size, and the covariates are recorded at the study level. The study-level
covariates in meta-regression are known as moderators. Several examples of moderators include study
location, study test environment, drug administration method. For a general overview and discussions
about meta-regression, see Berlin and Antman (1992), Berkey et al. (1995), and Thompson and Higgins
(2002).
The goal of meta-regression is to explore and explain the between-study heterogeneity as a function
of moderators. Two types of regression models, fixed-effects (FE) and random-effects (RE), are avail-
able. An FE meta-regression assumes that all heterogeneity between study effect sizes can be accounted
for by the included moderators. An RE meta-regression accounts for potential additional variability un-
explained by the included moderators, also known as residual heterogeneity. Because a common-effect
meta-analysis model implies no study heterogeneity, it is not applicable to meta-regression, except in a
less interesting case of a constant-only model, which is equivalent to the standard common-effect meta-
analysis; see [META] meta summarize.
meta regress fits meta-regression. Use the random() option to fit an RE meta-regression and
the fixed option to fit an FE meta-regression. Also see Default meta-analysis model and method in
[META] meta data to learn about the default regression model used by meta regress.
For the 𝑗th study, let 𝜃𝑗̂ denote the effect size, 𝜎̂𝑗2 its variance, and x𝑗 be a 1 × 𝑝 vector of moderators
with the corresponding unknown 𝑝 × 1 coefficient vector β.
An FE meta-regression (Greenland 1987) is given by
1
𝜃𝑗̂ = x𝑗 β + 𝜖𝑗 , weighted by 𝑤𝑗 = , where 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 )
𝜎̂𝑗2
1
𝜃𝑗̂ = x𝑗 β + 𝜖𝜙𝑗 , weighted by 𝑤𝑗 = , where 𝜖𝜙𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 𝜙)
𝜎̂𝑗2
This regression model may be specified by the combination of fixed and multiplicative options.
Another method of incorporating residual heterogeneity is to include an additive between-study vari-
ance component, 𝜏 2 , that leads to an RE meta-regression (Berkey et al. 1995), also known as a mixed
model in the meta-analysis literature:
1
𝜃𝑗̂ = x𝑗 β + 𝜖∗𝑗 = x𝑗 β + 𝑢𝑗 + 𝜖𝑗 , weighted by 𝑤𝑗∗ = , where 𝜖∗𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 + 𝜏 2 )
𝜎̂𝑗2 + 𝜏 ̂2
meta regress — Meta-analysis regression 235
As we mentioned earlier, an RE meta-regression assumes that the moderators explain only part of the
heterogeneity, and a random-effects term 𝑢𝑗 ∼ 𝑁 (0, 𝜏 2 ) is used to account for the remainder.
Harbord and Higgins (2016) point out that some authors (Thompson and Sharp 1999; Higgins and
Thompson 2004) argue that an FE meta-regression should not be used because, in practice, the included
moderators rarely capture all the between-study heterogeneity and that the failure of the FE regression to
capture the extra between-study heterogeneity can lead to excessive type I errors. Also, the results from
an FE meta-regression, including its multiplicative version, may not be generalized to populations from
which the observed studies are a sample (Konstantopoulos and Hedges 2009). If you do not specify a
meta-analysis model with meta set or meta esize during declaration, an RE meta-regression will be
assumed by meta regress.
Meta-regression can also be considered an extension of subgroup analysis (see meta summarize,
subgroup() in [META] meta summarize) to include continuous moderators in addition to the categorical
ones. In particular, an FE meta-regression with the subgroup variable specified as a factor variable (see
[U] 11.4.3 Factor variables) is equivalent to the FE subgroup analysis on that variable.
It is recommended that you have at least 10 studies per moderator to perform meta-regression (Boren-
stein et al. 2009 , chap. 20). Otherwise, you may not be able to estimate the effects of moderators reliably.
For more recommendations regarding meta-regression, see Schmidt and Hunter (2015, chap. 9), Deeks,
Macaskill, and Irwig (2005), Harbord and Higgins (2016), Sharp (2016), and Thompson and Higgins
(2002).
meta query, short reminds us about the main settings of the declaration step. Our data were declared
by using meta esize with variables npost, nnegt, nposc, and nnegc representing the summary data
from 2×2 tables, which record the numbers of positive and negative TB cases in the treatment and control
groups. The computed effect sizes are log risk-ratios; their values and standard errors are stored in the
respective system variables meta es and meta se. The studylbl variable supplies the study labels
to be used in the output. The declared meta-analysis model is the default random-effects model with the
REML estimation method.
meta regress — Meta-analysis regression 236
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
Unlike with many Stata regression commands, we do not specify the dependent variable with meta
regress. The command includes it automatically from the declared meta settings. meta regress pro-
vides a short summary of the settings, which you can suppress with the nometashow option. System
variable meta es contains the effect sizes and is thus used as the dependent variable. System variable
meta se contains effect-size standard errors; it is used to construct the weights for the regression.
The header includes the information about the meta-analysis model and reports various summaries
such as heterogeneity statistics and the model test. For example, the results are based on 13 studies.
2
The reported 𝐼res statistic is 68%, which still suggests moderate heterogeneity, using the categorization
of Higgins et al. (2003), even after including latitude c as the moderator. In other words, 68% of
the variability in the residuals is still attributed to the between-study variation, whereas only 32% is
attributed to the within-study variation. The adjusted 𝑅2 statistic can be used to assess the proportion of
between-study variance explained by the covariates; see (6) in Methods and formulas for its definition
used in the meta-analysis literature. Here roughly 76% of the between-study variance is explained by the
covariate latitude c.
The output header also displays a model test that all coefficients other than the intercept are equal to
zero based on the 𝜒2 distribution with 𝑝 − 1 degrees of freedom. In our example, the 𝜒2 test statistic
is 16.36 with a 𝑝-value of 0.0001. We have only one moderator, so the results of the model test in our
example are equivalent to the 𝑧 test (𝜒2 value equals squared 𝑧 value) of the coefficient of latitude c
reported in the output table.
meta regress — Meta-analysis regression 237
The regression coefficient for latitude c is −0.029, which means that every one degree of latitude
corresponds to a decrease of 0.0291 units in log risk-ratio. The intercept, 𝛽0̂ , is −0.722, which means
that the overall risk ratio at the mean latitude (latitude c = 0 corresponds to latitude ≈ 33.46) is
exp(−0.722) = 0.46. Both of these coefficients are statistically significantly different from zero based
on the reported 𝑧 tests.
Finally, a test of residual homogeneity is reported at the bottom of the output. The test statistic 𝑄res
is 30.73 with a 𝑝-value of 0.0012, which suggests the presence of heterogeneity among the residuals.
Technical note
2
Heterogeneity statistics 𝐼res 2
and 𝐻res , reported under Residual heterogeneity: in the header, are
extensions of the corresponding statistics 𝐼 2 and 𝐻 2 from standard meta-analysis to meta-regression
(Higgins and Thompson 2002). They measure the remaining between-study heterogeneity among the
residuals after adjusting for the variability due to moderators. Similarly, the test of residual homogeneity
based on the 𝑄res statistic is the extension of the standard meta-analysis homogeneity test based on the
Cochran’s 𝑄 statistic to meta-regression. See Residual heterogeneity measures and Residual homogene-
ity test in Methods and formulas.
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
The estimate of the regression coefficient for latitude c is −0.028 and is similar to the REML estimate
of −0.029, but the standard errors are quite different: 0.011 versus 0.007. Recall that REML assumes that
the error distribution is normal, whereas the Sidik–Jonkman estimator does not. Thus, its standard error
estimates are likely to be larger than those from REML. The estimates of the between-study variance, 𝜏 2 ,
are also very different: 0.23 compared with the REML estimate of 0.08.
meta regress — Meta-analysis regression 238
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
The reported standard errors are larger than those from example 1. This is expected because the
Knapp–Hartung adjustment incorporates the uncertainty in estimating 𝜏 2 in the standard error computa-
tion. Also, the inferences for the tests of coefficients and the model test are now based on the Student’s
𝑡 and 𝐹 distributions, respectively, instead of the default normal and 𝜒2 distributions.
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
The estimate of the coefficient for latitude c is now −0.028 with a standard error estimate of 0.01.
meta regress — Meta-analysis regression 239
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
Because the FE regression assumes no additional residual heterogeneity, the residual heterogeneity statis-
tics and the residual homogeneity test are not reported with meta regress, fixed.
The coefficient estimates are similar to those from example 1, but standard errors from the FE regres-
sion are smaller. This is because the FE regression does not account for the residual heterogeneity that is
not explained by the included moderators.
meta regress — Meta-analysis regression 240
Considering the presence of residual heterogeneity in these data, we should go back to our RE analysis
or explore the multiplicative meta-regression, which we demonstrate in example 6.
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
The estimate of the dispersion parameter, reported in the header as Dispersion phi, is 2.79. It is greater
than 1, which suggests the presence of residual heterogeneity in these data. The coefficient estimates are
the same as those in example 5, but the standard errors are about two times larger.
which means replaying previous estimation results consistently across Stata. The above will either issue
an error that previous estimation results are not found or redisplay the results from the previous meta
regress specification.
meta regress — Meta-analysis regression 241
Instead, to fit a constant-only model with meta regress, you specify the designator cons following
the command name.
. meta regress _cons
Effect-size label: Log risk-ratio
Effect size: _meta_es
Std. err.: _meta_se
Random-effects meta-regression Number of obs = 13
Method: REML Residual heterogeneity:
tau2 = .3132
I2 (%) = 92.22
H2 = 12.86
Wald chi2(0) = .
Prob > chi2 = .
Test of residual homogeneity: Q_res = chi2(12) = 152.23 Prob > Q_res = 0.0000
Note that the estimated value of 𝜏 ̂2 is now 0.313, whereas in example 1 it was 0.076. That is, the
inclusion of covariate latitude c in example 1 reduced 𝜏 ̂2 from 0.313 to 0.076 for a relative reduction
of (0.313 − 0.076)/0.313 ≈ 76%.
The reason a constant-only meta-regression is not as common is because it produces the same results
as a standard meta-analysis.
. meta summarize, nostudies
Effect-size label: Log risk-ratio
Effect size: _meta_es
Std. err.: _meta_se
Study label: studylbl
Meta-analysis summary Number of studies = 13
Random-effects model Heterogeneity:
Method: REML tau2 = 0.3132
I2 (%) = 92.22
H2 = 12.86
theta: Overall Log risk-ratio
Stored results
meta regress stores the following in e():
Scalars
e(N) number of observations (studies)
e(df m) model degrees of freedom
e(df r) residual degrees of freedom
e(chi2) model 𝜒2 Wald test statistic
e(F) model 𝐹 statistic
e(p) 𝑝-value for model test
e(phi) dispersion parameter
e(tau2) between-study variance
e(I2 res) 2
𝐼res heterogeneity statistic
e(H2 res) 2
𝐻res heterogeneity statistic
e(R2) 𝑅2 heterogeneity measure
e(Q res) Cochran’s 𝑄 residual homogeneity test statistic
e(df Q res) degrees of freedom for residual homogeneity test
e(p Q res) 𝑝-value for residual homogeneity test
e(seadj) standard error adjustment
e(converged) 1 if converged, 0 otherwise (with iterative random-effects methods)
Macros
e(cmd) meta regress
e(cmdline) command as typed
e(depvar) name of dependent variable, meta es
e(indepvars) names of independent variables (moderators)
e(title) title in estimation output
e(model) meta-analysis model
e(method) meta-analysis estimation method
e(seadjtype) type of standard error adjustment
e(properties) b V
e(estat cmd) program used to implement estat
e(predict) program used to implement predict
e(marginsok) predictions allowed by margins
e(marginsnotok) predictions disallowed by margins
e(marginsdefault) default predict() specification for margins
e(asbalanced) factor variables fvset as asbalanced
e(asobserved) factor variables fvset as asobserved
Matrices
e(b) coefficient vector
e(V) variance–covariance matrix of the estimators
Functions
e(sample) marks estimation sample
Note that results stored in r() are updated when the command is replayed and will be replaced when any
r-class command is run after the estimation command.
meta regress also creates a system variable, meta regweight, that contains meta-regression
weights.
meta regress — Meta-analysis regression 243
Fixed-effects meta-regression
For an overview of estimation methods used by meta-regression, see Berkey et al. (1995), Sidik and
Jonkman (2005), and Viechtbauer et al. (2015).
Consider an FE meta-analysis, where 𝜃𝑗̂ ∼ 𝑁 (𝜃𝑗 , 𝜎̂𝑗2 ), 𝜃𝑗 is the true effect size for study 𝑗, 𝜃𝑗̂ is
the estimated effect size, and 𝜎̂𝑗2 is the variance of 𝜃𝑗̂ . In an FE meta-regression (Greenland 1987), the
study-specific mean, 𝜃𝑗 , is expressed as
For a multiplicative FE meta-regression, W in the above is replaced with W𝜙 = diag(𝑤1𝜙 , 𝑤2𝜙 , . . . ,𝑤𝐾
𝜙
),
𝜙 ̂ 2 ̂
where the weights are defined as 𝑤𝑗 = 1/(𝜙𝜎̂𝑗 ). 𝜙 is estimated as the mean squared error from the
weighted linear regression with weights proportional to 1/𝜎̂𝑗2 .
Next, we present another method of incorporating residual heterogeneity by including an additive
between-study variance parameter.
meta regress — Meta-analysis regression 244
Random-effects meta-regression
An RE meta-regression (Berkey et al. 1995) model may be expressed as
All algorithms for RE meta-regression first estimate the between-study variance, 𝜏 2 . The regression
coefficients are then estimated via weighted least squares,
̂∗ = (X′ W∗ X)−1 X′ W∗ θ̂
β
where A is a 𝑝 × 𝑝 diagonal weight matrix whose elements depend on the type of estimator (Viechtbauer
et al. 2015).
The formulas in the following sections are based on Viechtbauer et al. (2015).
The three estimators described below do not have a closed-form solution, and an iterative algorithm
is needed to obtain an estimate of 𝜏 2 . The Fisher scoring algorithm, described below, is used to estimate
𝜏 2.
All three estimators start with an initial estimate of 𝜏 2 based on the Hedges estimator, 𝜏0̂2 = 𝜏HE
̂2 , but
you can specify your own initial estimate in the from() option. The estimate is then updated at each
iteration via the formula,
̂2 = 𝜏current
𝜏new ̂2 +𝛿
̂2
where 𝛿 is a function of 𝜏current and its functional form depends on the estimation method.
The iteration terminates when reldif(𝜏new
̂2 , 𝜏current
̂2 ) is less than tolerance() and the scaled gradi-
ent, computed based on the log-likelihood functions provided below, is less than nrtolerance(); see
[R] Maximize.
The MLE of 𝜏 2 is the value that maximizes the log-likelihood function (Hardy and Thompson 1996)
1 ′
ln 𝐿ML (𝜏 2 ) = − {𝐾 ln(2𝜋) + ln ∣𝜏 2 I + W−1 ∣ + θ̂ Pθ}
̂
2
The MLE estimator of 𝜏 2 does not incorporate the uncertainty about the unknown regression coeffi-
cients β and thus can be negatively biased.
meta regress — Meta-analysis regression 245
The REML estimate of 𝜏 2 is the value that maximizes the restricted log-likelihood function,
𝐾
1 1 𝑝
ln 𝐿REML (𝜏 2 ) = ln 𝐿ML (𝜏 2 ) − ln ∣∑ 2 2
x′𝑗 x𝑗 ∣ + ln(2𝜋)
2 𝑗=1
𝜏 + 𝜎̂𝑗 2
The empirical Bayes estimator for 𝜏 2 was introduced by Morris (1983) and was first used in the meta-
analytic context by Berkey et al. (1995). This estimator is also known as the Paule–Mandel estimator
(Paule and Mandel 1982). The empirical Bayes formula for 𝛿 is
′
𝐾/(𝐾 − 𝑝)θ̂ Pθ̂ − 𝐾
𝛿EB =
tr(W∗ )
For the three above estimators, A = W∗ in the definition of the P matrix from (1).
where P is defined in (1) with A = W, ℎ𝑗 is the 𝑗th diagonal element of the “hat” matrix
X(X′ WX)−1 X′ W, and 𝑄res is defined in (3).
For a constant-only model, when 𝑝 = 1, (2) reduces to the DerSimonian–Laird estimator from Non-
iterative methods in [META] meta summarize.
Hedges (1983) used OLS to provide a method of moments estimator of 𝜏 ̂2 for the RE meta-analysis. In
the context of meta-regression, the extension of the Hedges’s (HE) estimator introduced by Raudenbush
(2009, eq. 16.41) is
′
θ̂ Pθ̂ − tr(PW−1 )
̂2 =
𝜏HE
𝐾 −𝑝
∑𝐾 ̂ )2 − ∑𝐾 𝜎̂ 2 (1 − ℎols )
(𝜃𝑗̂ − x𝑗 β
𝑗=1 ols 𝑗=1 𝑗 𝑗
=
𝐾 −𝑝
̂ = (X′ X)−1 Xθ,̂ and ℎols is the 𝑗th diagonal element of the OLS
where P is defined in (1) with A = I, β ols 𝑗
′ −1 ′
hat matrix X(X X) X .
meta regress — Meta-analysis regression 246
Sidik and Jonkman (2005) proposed the following estimator. Consider an initial estimate of 𝜏 2 ,
2
∑𝐾
𝑗=1
(𝜃𝑗̂ − 𝜃) ∑𝐾 𝜃̂
𝑗=1 𝑗
𝜏0̂2 = 𝜃=
𝐾 𝐾
′ 𝐾 ̂ )2
∑𝑗=1 𝑤𝑗SJ (𝜃𝑗̂ − x𝑗 β
θ̂ Pθ̂ SJ
̂2
𝜏SJ = =
𝐾 −𝑝 𝐾 −𝑝
′
θ̂ Pθ̂ − 𝐾 𝑄 −𝐾
̂2 =
𝜏HS = res
tr(W) tr(W)
where P is defined in (1) with A = W.
By default, the inference about the regression coefficients and their confidence intervals from meta-
regression is based on a normal distribution. The test of the significance of all regression coefficients is
based on a 𝜒2 distribution with 𝑝 − 1 degrees of freedom.
Knapp and Hartung (2003) proposed an adjustment to the standard errors of the estimated regression
coefficients to account for the uncertainty in the estimation of 𝜏 2 . They showed that the corresponding
tests of individual regression coefficients and their confidence intervals are based on the Student’s 𝑡
distribution with 𝐾 − 𝑝 degrees of freedom and that the overall test of significance is based on an 𝐹
distribution with 𝑝 − 1 numerator and 𝐾 − 𝑝 denominator.
The Knapp–Hartung adjustment first calculates the quadratic form,
′
θ̂ Pθ̂
𝑞KH =
𝐾 −𝑝
where P is defined in (1) with A = W∗ . It then multiplies the regular expressions of the variances of re-
gression coefficients by 𝑞KH or, in the case of the truncated Knapp–Hartung adjustment, by max(1, 𝑞KH ).
meta regress — Meta-analysis regression 247
2
𝐾 𝐾
𝜃𝑗̂ − x𝑗 β
̂
𝑄res ̂ 2 = ∑(
= ∑ 𝑤𝑗 (𝜃𝑗̂ − x𝑗 β) ) (3)
𝑗=1 𝑗=1
𝜎̂𝑗
which is a generalization of the heterogeneity test statistic, 𝑄 (see Homogeneity test in [META] meta
summarize), to the context of meta-regression.
Under the null hypothesis of residual homogeneity, 𝑄res follows a 𝜒2 distribution with 𝐾 − 𝑝 degrees
of freedom (Seber and Lee 2003, sec. 2.4).
2 𝜏 ̂2
𝐼res = × 100% (4)
𝜏 ̂ 2 + 𝑠2
where 𝑠2 = (𝐾 − 𝑝)/tr(P) and A = W is used to define P. In the meta-regression context, the 𝐻 2
statistic is defined as
2 𝜏 ̂ 2 + 𝑠2
𝐻res = (5)
𝑠2
Adjusted 𝑅2 (Harbord and Higgins 2016; Borenstein et al. 2009 ) measures the proportion of the
between-study variance that is explained by the moderators. It is defined as
𝜏𝑐̂2 − 𝜏 ̂2
𝑅2 = × 100% (6)
𝜏𝑐̂2
References
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
Berlin, J. A., and E. M. Antman. 1992. Advantages and limitations of meta-analytic regressions of clinical trials data.
Controlled Clinical Trials 13: 422. [Link]
Borenstein, M., L. V. Hedges, J. P. T. Higgins, and H. R. Rothstein. 2009. Introduction to Meta-Analysis. Chichester, UK:
Wiley.
Colditz, G. A., T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg, and F. Mosteller. 1994. Efficacy
of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American
Medical Association 271: 698–702. [Link]
meta regress — Meta-analysis regression 248
Deeks, J. J., P. Macaskill, and L. Irwig. 2005. The performance of tests of publication bias and other sample size effects
in systematic reviews of diagnostic test accuracy was assessed. Journal of Clinical Epidemiology 58: 882–893. https:
//[Link]/10.1016/[Link].2005.01.016.
DuMouchel, W. H., and J. E. Harris. 1983. Bayes methods for combining the results of cancer studies in humans and
other species. Journal of the American Statistical Association 78: 293–308. [Link]
Greenland, S. 1987. Quantitative methods in the review of epidemiologic literature. Epidemiologic Reviews 9: 1–30.
[Link]
Harbord, R. M., and J. P. T. Higgins. 2016. “Meta-regression in Stata”. In Meta-Analysis in Stata: An Updated Collection
from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 85–111. 2nd ed. College Station, TX: Stata Press.
Hardy, R. J., and S. G. Thompson. 1996. A likelihood approach to meta-analysis with random effects. Statistics in Medicine
15: 619–629. [Link]
Hartung, J., and G. Knapp. 2001a. On tests of the overall treatment effect in meta-analysis with normally distributed
responses. Statistics in Medicine 20: 1771–1782. [Link]
———. 2001b. A refined method for the meta-analysis of controlled clinical trials with binary outcome. Statistics in
Medicine 20: 3875–3889. [Link]
Hedges, L. V. 1983. A random effects model for effect sizes. Psychological Bulletin 93: 388–395. [Link]
0033-2909.93.2.388.
Higgins, J. P. T., and S. G. Thompson. 2002. Quantifying heterogeneity in a meta-analysis. Statistics in Medicine 21:
1539–1558. [Link]
———. 2004. Controlling the risk of spurious findings from meta-regression. Statistics in Medicine 23: 1663–1682.
[Link]
Higgins, J. P. T., S. G. Thompson, J. J. Deeks, and D. G. Altman. 2003. Measuring inconsistency in meta-analyses. BMJ
327: 557–560. [Link]
Knapp, G., and J. Hartung. 2003. Improved tests for a random effects meta-regression with a single covariate. Statistics
in Medicine 22: 2693–2710. [Link]
Konstantopoulos, S., and L. V. Hedges. 2009. “Analyzing effect sizes: Fixed-effects models”. In The Handbook of Re-
search Synthesis and Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 279–293. 2nd ed. New
York: Russell Sage Foundation.
Morris, C. N. 1983. Parametric empirical Bayes inference: Theory and applications. Journal of the American Statistical
Association 78: 47–55. [Link]
Paule, R. C., and J. Mandel. 1982. Consensus values and weighting factors. Journal of Research of the National Bureau of
Standards 87: 377–385. [Link]
Raudenbush, S. W. 2009. “Analyzing effect sizes: Random-effects models”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 295–316. 2nd ed. New York: Russell Sage
Foundation.
Schmidt, F. L., and J. E. Hunter. 2015. Methods of Meta-Analysis: Correcting Error and Bias in Research Findings. 3rd ed.
Thousand Oaks, CA: Sage. [Link]
Seber, G. A. F., and A. J. Lee. 2003. Linear Regression Analysis. 2nd ed. Hoboken, NJ: Wiley. [Link]
9780471722199.
Sharp, S. J. 2016. “Meta-analysis regression”. In Meta-Analysis in Stata: An Updated Collection from the Stata Journal,
edited by T. M. Palmer and J. A. C. Sterne, 112–120. 2nd ed. College Station, TX: Stata Press.
Sidik, K., and J. N. Jonkman. 2002. A simple confidence interval for meta-analysis. Statistics in Medicine 21: 3153–3159.
[Link]
———. 2005. A note on variance estimation in random effects meta-regression. Journal of Biopharmaceutical Statistics
15: 823–838. [Link]
Thompson, S. G., and J. P. T. Higgins. 2002. How should meta-regression analyses be undertaken and interpreted? Statis-
tics in Medicine 21: 1559–1573. [Link]
Thompson, S. G., and S. J. Sharp. 1999. Explaining heterogeneity in meta-analysis: A comparison of methods. Statistics
in Medicine 18: 2693–2708. [Link]
meta regress — Meta-analysis regression 249
Viechtbauer, W., J. A. López-López, J. Sánchez-Meca, and F. Marín-Martínez. 2015. A comparison of procedures to test
for moderators in mixed-effects meta-regression models. Psychological Methods 20: 360–374. [Link]
met0000023.
Also see
[META] meta regress postestimation — Postestimation tools for meta regress
[META] meta data — Declare meta-analysis data
[META] meta forestplot — Forest plots
[META] meta galbraithplot — Galbraith plots
[META] meta labbeplot — L’Abbé plots
[META] meta summarize — Summarize meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
meta regress postestimation — Postestimation tools for meta regress
Postestimation commands
The following postestimation command is of special interest after meta regress:
Command Description
estat bubbleplot bubble plots
Command Description
contrast contrasts and ANOVA-style joint tests of parameters
estat summarize summary statistics for the estimation sample
estat vce variance–covariance matrix of the estimators (VCE)
estimates cataloging estimation results
etable table of estimation results
lincom point estimates, standard errors, testing, and inference for linear combinations of
parameters
margins marginal means, predictive margins, marginal effects, and average marginal ef-
fects
marginsplot graph the results from margins (profile plots, interaction plots, etc.)
nlcom point estimates, standard errors, testing, and inference for nonlinear combinations
of parameters
predict predictions and their SEs, leverage statistics, etc.
predictnl point estimates, standard errors, testing, and inference for generalized predictions
pwcompare pairwise comparisons of parameters
test Wald tests of simple and composite linear hypotheses
testnl Wald tests of nonlinear hypotheses
250
meta regress postestimation — Postestimation tools for meta regress 251
predict
Syntax for obtaining predictions other than best linear unbiased predictions (BLUPs) of random effects
predict [ type ] newvar [ if ] [ in ] [ , statistic fixedonly se(sespec) ]
Syntax for obtaining BLUPs of random effects and their standard errors after random-effects meta-
regression
predict [ type ] newvar [ if ] [ in ], reffects [ se(newvar) reses(resesspec) ]
statistic Description
Main
xb linear prediction; the default
stdp standard error of the linear prediction
fitted fitted values, fixed-portion linear prediction plus predicted random effects
residuals residuals, response minus fitted values
leverage | hat leverage (diagonal elements of hat matrix)
Unstarred statistics are available both in and out of sample; type predict ... if e(sample) ... if wanted only for the
estimation sample.
residuals calculates the residuals, which are equal to the responses minus the fitted values. With
fixed-effects meta-regression or with random-effects meta-regression when option fixedonly is also
specified, it calculates 𝜃𝑗̂ − x𝑗 β.
̂ The former are known as marginal residuals in the context of the
random-effects model. For random-effects meta-regression without fixedonly, this option calcu-
lates 𝜃𝑗̂ − (x𝑗 β
̂ + 𝑢𝑗 ), which are known as conditional residuals.
leverage or hat calculates the diagonal elements of the projection (“hat”) matrix.
fixedonly specifies that all random effects be set to zero, which is equivalent to using only the fixed por-
tion of the model, when computing results for random-effects models. This option may be specified
only with statistics fitted, residuals, or leverage.
reffects calculates best linear unbiased predictions (BLUPs) of the random effects.
se(newvar[ , marginal ]) calculates the standard errors of the corresponding predicted values. This
option may be specified only with statistics reffects, fitted, and residuals. When specified
with reffects, se(newvar) is a synonym to reses(newvar, diagnostic).
Suboption marginal is allowed only with random-effects meta-regression and requires option
fixedonly. It computes marginal standard errors, when you type
. predict ..., statistic se(newvar, marginal) fixedonly
instead of the standard errors conditional on zero random effects, which are computed when you type
. predict ..., statistic se(newvar) fixedonly
marginal is not allowed in combination with reffects.
reses(resesspec) calculates the standard errors of the random effects; see option reffects. This option
may not be combined with option se(). The syntax for resesspec is
newvar[ , comparative | diagnostic ]
comparative, the default, computes comparative random-effects standard errors. For linear mod-
els, these correspond to posterior standard deviations of random effects and to standard errors of
marginal prediction errors 𝑢̂𝑗 − 𝑢𝑗 . These standard errors are used for inference about the random
effects.
diagnostic computes diagnostic random-effects standard errors. These correspond to marginal stan-
dard errors of BLUPs, SE(𝑢̂𝑗 ). These standard errors are used for model diagnostics.
meta regress postestimation — Postestimation tools for meta regress 253
margins
statistic Description
xb linear prediction; the default
fitted fitted values; implies fixedonly
stdp not allowed with margins
residuals not allowed with margins
leverage | hat not allowed with margins
reffects not allowed with margins
Statistics not allowed with margins are functions of stochastic quantities other than e(b).
For the full syntax, see [R] margins.
meta regress postestimation — Postestimation tools for meta regress 254
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
Whenever there is one continuous moderator in a meta-regression, a so-called bubble plot is com-
monly used to explore the relationship between the effect size and that moderator. Let’s use estat
bubbleplot to produce the bubble plot after the fitted meta-regression.
. estat bubbleplot
Bubble plot
.5
0
Log risk-ratio
-.5
95% CI
Studies
Linear prediction
-1
-1.5
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
meta regress postestimation — Postestimation tools for meta regress 255
A bubble plot is a scatterplot of the observed effect sizes against the moderator overlaid with the predicted
regression and confidence-intervals lines. Each study is represented by a circle (bubble) with the size
(area) proportional to the study precision, 1/𝜎̂𝑗2 . The larger the size of the bubble, the more precise the
study. The coordinates of the center of each circle show the observed value of the effect size on the
𝑦 axis and that of the moderator (latitude c in our example) on the 𝑥 axis. The solid line shows the
predicted values (predicted log risk-ratios in our example). The predicted 95% confidence intervals are
also plotted.
From the plot, the log risk-ratio for the BCG vaccine declines as the distance from the equator increases.
There appear to be a couple of outlying studies (see points in the bottom-left and middle-top sections of
the plot), but their bubbles are very small, which suggests that their log risk-ratios estimates had small
weights, relative to other studies, in the meta-regression. Outlying studies with large bubbles may be
a source of concern because of the large differences in their effect sizes compared with those from the
other studies and because of the large impact they have on the regression results.
Delta-method
Margin std. err. z P>|z| [95% conf. interval]
_at
1 -.1839386 .1586092 -1.16 0.246 -.4948069 .1269297
2 -.562261 .1091839 -5.15 0.000 -.7762574 -.3482645
3 -1.202499 .1714274 -7.01 0.000 -1.53849 -.8665072
The list of numbers specified in the at() option are the values of the latitudes centered around the latitude
mean (≈ 33.5).
Note that results produced by margins are on the log scale and need to be exponentiated to make
interpretations on the natural (risk) scale. For instance, from the output, the risk ratio for regions with
latitude c = 16.5 is exp(−1.202499) = 0.3, which means that the vaccine is expected to reduce the
risk of TB by 70% for regions with that latitude.
meta regress postestimation — Postestimation tools for meta regress 256
Then, we generate a new variable, ustandard, as the ratio of the predicted random effects to their
diagnostic standard errors and use the qnorm command (see [R] Diagnostic plots) to construct the normal
quantile plot.
. generate double ustandard = u/se_u
. label variable ustandard ”Standardized predicted random effects”
. qnorm ustandard, mlabel(trial)
2 13
12
Standardized predicted random effects
1 6
8
9 1
0
5 11
3 2
4
-1 10
-2
-3
-2 -1 0 1 2
Inverse normal
The plot suggests that trial 7, labeled “Vandiviere et al., 1973” in our data, is an outlier. From the data,
the log risk-ratio estimate for this trial is −1.62 with the corresponding risk-ratio estimate of about 0.2.
This means that, in that trial, the vaccine reduced the risk of TB by roughly 80% even though this trial
was conducted relatively close to the equator (in Haiti, with latitude=19). In fact, this trial reported
the largest risk reduction (smallest log-risk-ratio value) in the meta-analysis. Compare this with trial 11
(“Comstock et al., 1974”), which was conducted in Puerto Rico and has a similar latitude (latitude=18)
but whose estimated risk reduction was much more moderate, about 29% (with the risk-ratio estimate
of exp(−0.34) = 0.71). More investigation is needed to explain the extreme value reported by trial 7.
Thus, in this example, you may consider reporting the results of meta-analyses with and without this
trial.
meta regress postestimation — Postestimation tools for meta regress 257
The following formulas are used by predict. The notation is based on Methods and formulas of
[META] meta regress.
Random-effects meta-regression
The fixed-portion of the linear prediction (option xb) is x𝑗 β.̂ The estimated standard error of the
fixed-portion of the linear prediction (option stdp) for study 𝑗 is
̂
̂E (x𝑗 β)
S = √x𝑗 (X′ W∗ X)−1 x′𝑗
𝑢̂𝑗 = 𝜆𝑗 (𝜃𝑗̂ − x𝑗 β)
̂
where
𝜏 ̂2
𝜆𝑗 =
𝜏 ̂2 + 𝜎̂𝑗2
is the empirical Bayes shrinkage factor for the 𝑗th study. When the reses() option is also specified, the
estimated comparative standard error of 𝑢̂𝑗 is
̂E (𝑢̂𝑗
S − 𝑢𝑗 ) = √𝜏 ̂2 − 𝜆2𝑗 {𝜎̂𝑗2 + 𝜏 ̂2 − x𝑗 (X′ W∗ X)−1 x′𝑗 }
When suboption diagnostic of reses() is specified or when the se() option is specified, the
estimated diagnostic standard error of 𝑢̂𝑗 is
̂E (𝑢̂𝑗 )
S = 𝜆𝑗 √𝜎̂𝑗2 + 𝜏 ̂2 − x𝑗 (X′ W∗ X)−1 x′𝑗
See Goldstein (2011), Skrondal and Rabe-Hesketh (2009), and Rabe-Hesketh and Skrondal (2022)
for more details.
The fitted value (option fitted) is
𝜃𝑗̃ = x𝑗 β
̂ + 𝑢̂𝑗
When the se() option is also specified, the estimated standard error of 𝜃𝑗̃ is
̂E (𝜃𝑗̃ )
S = √𝜆2𝑗 (𝜎̂𝑗2 + 𝜏 ̂2 ) + (1 − 𝜆2𝑗 ) x𝑗 (X′ W∗ X)−1 x′𝑗
meta regress postestimation — Postestimation tools for meta regress 258
̂E (𝑒𝑗 )
S = √(1 + 𝜆2𝑗 ) (𝜎̂𝑗2 + 𝜏 ̂2 − x𝑗 (X′ W∗ X)−1 x′𝑗 )
The leverage (option hat) are the diagonal elements of the hat matrix X (X′ W∗ X)−1 X′ W∗ :
1
ℎ∗𝑗 = x (X′ W∗ X)−1 x′𝑗
𝜏 ̂2 + 𝜎̂𝑗2 𝑗
When the fixedonly option is specified, the formulas for the fitted values and residuals (including
their standard errors) and leverage are adjusted by replacing the value of 𝑢̂𝑗 with 0, in which case, 𝜏 ̂2 = 0,
𝜆𝑗 = 0, and W∗ is replaced with W = diag (1/𝜎̂12 , . . . , 1/𝜎̂𝐾 2
). In this case, the standard errors are
computed conditionally on zero random effects.
If se()’s option marginal is specified, then marginal standard errors are computed. This is equivalent
to computing ŜE(𝜃𝑗̃ ) and ŜE (𝑒𝑗 ) with 𝜆𝑗 = 0 but keeping 𝜏 ̂2 and W∗ unchanged.
Fixed-effects meta-regression
̂ The estimated standard error of the linear prediction (option
The linear prediction (option xb) is x𝑗 β.
stdp) for study 𝑗 is
̂ = √x𝑗 (X′ WX)−1 x′
̂E (x𝑗 β)
S 𝑗
The fitted value (option fitted) is the same as the linear prediction:
𝜃𝑗̃ = x𝑗 β
̂
̂E (𝑒𝑗 )
S = √(𝜎̂𝑗2 − x𝑗 (X′ WX)−1 x′𝑗 )
The leverage (option hat) are the diagonal elements of the hat matrix X (X′ WX)−1 X′ W:
1
ℎ𝑗 = x (X′ WX)−1 x′𝑗
𝜎̂𝑗2 𝑗
For the multiplicative fixed-effects meta-regression, in the above formulas, replace W with W𝜙 and
𝜎̂𝑗2 with 𝜙𝜎̂ ̂𝑗2 , where 𝜙 ̂ is defined in Fixed-effects meta-regression in [META] meta regress.
References
Colditz, G. A., T. F. Brewer, C. S. Berkey, M. E. Wilson, E. Burdick, H. V. Fineberg, and F. Mosteller. 1994. Efficacy
of BCG vaccine in the prevention of tuberculosis: Meta-analysis of the published literature. Journal of the American
Medical Association 271: 698–702. [Link]
meta regress postestimation — Postestimation tools for meta regress 259
Goldstein, H. 2011. Multilevel Statistical Models. 4th ed. Chichester, UK: Wiley. [Link]
Rabe-Hesketh, S., and A. Skrondal. 2022. Multilevel and Longitudinal Modeling Using Stata. 4th ed. College Station, TX:
Stata Press.
Skrondal, A., and S. Rabe-Hesketh. 2009. Prediction in multilevel generalized linear models. Journal of the Royal Statis-
tical Society, A ser., 172: 659–687. [Link]
Also see
[META] meta regress — Meta-analysis regression
[META] meta data — Declare meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
estat bubbleplot — Bubble plots after meta regress
Description
estat bubbleplot produces bubble plots after simple meta-regression with one continuous modera-
tor performed by using meta regress. The bubble plot is a scatterplot of effect sizes against a moderator
of interest overlaid with the predicted regression line and confidence-interval bands. In a bubble plot,
the marker sizes, “bubbles”, are proportional to study weights.
Quick start
Fit a random-effects meta-regression with a continuous moderator, x
meta regress x, random
Construct a bubble plot for x
estat bubbleplot
Same as above, but specify that the size of the marker representing studies be proportional to the random-
effects weights instead of the default fixed-effects weights
estat bubbleplot, reweighted
Construct a bubble plot with a 90% confidence interval
estat bubbleplot, level(90)
Menu
Statistics > Meta-analysis
260
estat bubbleplot — Bubble plots after meta regress 261
Syntax
estat bubbleplot [ if ] [ in ] [ , options ]
options Description
Main
reweighted make bubble size depend on random-effects weights
[ no ]regline display or suppress the regression line
[ no ]ci display or suppress the confidence intervals
level(#) set confidence level; default is as declared for meta-analysis
n(#) evaluate CI lines at # points; default is n(100)
Fitted line
lineopts(line options) affect rendition of the plotted regression line
CI plot
ciopts(ciopts) affect rendition of the plotted CI band
Add plots
addplot(plot ) add other plots to the bubble plot
Y axis, X axis, Titles, Legend, Overall
twoway options any options other than by() documented in [G-3] twoway options
Options
Main
reweighted is used with random-effects meta-regression. It specifies that the sizes of the bubbles be
proportional to the weights from the random-effects meta-regression, 𝑤𝑗∗ = 1/(𝜎̂𝑗2 + 𝜏 ̂2 ). By default,
the sizes are proportional to the precision of each study, 𝑤𝑗 = 1/𝜎̂𝑗2 .
regline and noregline display or suppress the rendition of the regression line. The default, regline,
is to display the regression line. Option noregline implies option noci.
ci and noci display or suppress confidence intervals. The default, ci, is to display them.
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set.
n(#) specifies the number of points at which to evaluate the CIs. The default is n(100).
Fitted line
lineopts(line options) affects the rendition of the plotted regression line; see [G-3] line options.
CI plot
ciopts(ciopts) affects the rendition of the CI band in the bubble plot. ciopts are any options as defined
in [G-2] graph twoway rline and option recast(rarea) as described in [G-3] advanced options.
estat bubbleplot — Bubble plots after meta regress 262
Add plots
addplot(plot) allows adding more graph twoway plots to the graph; see [G-3] addplot option.
Y axis, X axis, Titles, Legend, Overall
twoway options are any of the options documented in [G-3] twoway options, excluding by(). These
include options for titling the graph (see [G-3] title options) and for saving the graph to disk (see
[G-3] saving option).
Introduction
A bubble plot (Berkey et al. 1995 ; Thompson and Sharp 1999; Thompson and Higgins 2002) is used
after simple meta-regression with a continuous moderator to describe the relation between the effect size
and the corresponding moderator. It is used as a tool to assess how well the regression model fits the
data and to potentially identify influential and outlying studies. The bubble plot is a scatterplot with the
study-specific effect sizes plotted on the 𝑦 axis and the moderator of interest from the meta-regression
plotted on the 𝑥 axis. The sizes of the markers or “bubbles” are proportional to the precision of each
study. The more precise (larger) the study, the larger the size of the bubble. The predicted regression line
and confidence bands are overlaid with the scatterplot.
estat bubbleplot produces bubble plots after simple meta-regression with a continuous moderator
performed by using meta regress. Traditionally, the weights used to determine the sizes of the bubbles
are the inverses of the effect-size variances, 1/𝜎̂𝑗2 . After a random-effects meta-regression, you can
specify the reweighted option to instead use the random-effects weights, 1/(𝜎̂𝑗2 + 𝜏 ̂2 ).
The predicted regression line and the 95% confidence intervals are plotted by default. You can spec-
ify the level() option to obtain other confidence intervals. You can control the look of the lines by
specifying the options lineopts() and ciopts(). You can also suppress the lines by specifying the
options noregline and noci.
To create these plots, we first fit the random-effects meta-regression shown in example 1 of
[META] meta regress, but our focus here is not on the interpretation of these plots but on the variety
of bubble plots that can be created.
. meta regress latitude_c
Effect-size label: Log risk-ratio
Effect size: _meta_es
Std. err.: _meta_se
Random-effects meta-regression Number of obs = 13
Method: REML Residual heterogeneity:
tau2 = .07635
I2 (%) = 68.39
H2 = 3.16
R-squared (%) = 75.63
Wald chi2(1) = 16.36
Prob > chi2 = 0.0001
Test of residual homogeneity: Q_res = chi2(11) = 30.73 Prob > Q_res = 0.0012
Bubble plot
.5
0
Log risk-ratio
-.5
95% CI
Studies
Linear prediction
-1
-1.5
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
The graph shows the log risk-ratios plotted against the mean-centered latitudes of the studies’ locations.
By default, the regression line and corresponding confidence intervals are plotted. We could suppress
these and plot just the bubbles with options noregline and noci, respectively. The regression line
provides a good fit of the data because most studies are relatively close to it. The log risk-ratios for the
BCG vaccine decline with increasing latitude. For more interpretation of the above bubble plot, refer to
example 1 of [META] meta regress postestimation.
estat bubbleplot — Bubble plots after meta regress 264
Bubble plot
.5
0
Log risk-ratio
-.5
95% CI
Studies
Linear prediction
-1
-1.5
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Random-effects
With random-effects weights, the sizes of the bubbles are more uniform across the studies as compared
with precision (fixed-effects) weights used in example 1. This will always be true except when 𝜏 ̂2 = 0,
in which case the bubble sizes will be identical with both types of weights.
estat bubbleplot — Bubble plots after meta regress 265
Bubble plot
.5 12
0 8 13
5
11
Log risk-ratio
-.5 9
95% CI
6 Studies
1 Linear prediction
-1
3
10
4
-1.5
7 2
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
Specifying the mlabel() option causes all the markers to have the same size. One way to get around
this is by using the addplot() option.
We can use addplot() to overlay an exact copy of the properly weighted bubble plot but without
plotting the markers and symbols, that is, using the msymbol(none) option. We can then add labels to
these nonplotted symbols to obtain the desired plot. Here is our minimal addplot() specification:
addplot(scatter _meta_es latitude_c, msymbol(none) mlabel(trial))
Bubble plot
.5 12
8 13
0
5
11
9
Log risk-ratio
-.5
95% CI
6 Studies
1
Linear prediction
-1
3
10
4
-1.5 7 2
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
estat bubbleplot — Bubble plots after meta regress 266
We used additional options to fine-tune the bubble plot. The mlabcolor(stblue) option controls the
color of the study labels. The legend(order(1 2 3)) option prevents the display of a legend key for the
added scatterplot in the legend box at the bottom of the plot. Finally, the mlabpos(2) option specifies
that marker labels be drawn at the 2 o’clock position.
We generated a new variable pos to hold the individual positions of each marker label. We chose to draw
labels at 9 o’clock for trials 10 to 13, at 6 o’clock for trials 1, 2, and 5, and at 2 o’clock for the other
trials.
We now use a similar specification of addplot() from example 3, but here we add mlabvpos(pos)
and mlabgap(*2) to double the gap size between the marker labels and the markers so that the trial
labels do not touch the hollow circles; see trials 6 and 8.
. estat bubbleplot, addplot(scatter _meta_es latitude_c, mlabvpos(pos)
> mlabgap(*2) ‘opts’)
Bubble plot
.5 12
8
0 13
5 11
9
Log risk-ratio
-.5
95% CI
6 Studies
Linear prediction
-1 1
3
10 4
-1.5 7
2
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
estat bubbleplot — Bubble plots after meta regress 267
We can modify other aspects of the graph such as the legend. Let’s place the legend inside the plot
region. We also specify if inlist(trial,7,12,13) with estat bubbleplot to display trial labels
only for specific trials (for example, outliers, trials with large weights, and so on).
. local legopts legend(ring(0) position(2) size(small) symxsize(*0.3)
> region(lcolor(black)))
. estat bubbleplot, addplot(scatter _meta_es latitude_c
> if inlist(trial,7,12,13), mlabvpos(pos) mlabgap(*2) ‘opts’) ‘legopts’
Bubble plot
.5 12 95% CI
Studies
Linear prediction
0 13
Log risk-ratio
-.5
-1
-1.5 7
-2
-20 -10 0 10 20
Mean-centered latitude
Weights: Inverse-variance
Within the legend() option (see [G-3] legend options), ring(0) and position(2) specify that the
legend be placed inside the plot region at the 2 o’clock position. size(small) specifies that a small
font be used for the legend key text, and symxsize(*0.3) sets the width of the key symbols to 30% of
their default width. region(lcolor(black)) adds a black border around the legend region.
References
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1995. A random-effects regression model for meta-analysis.
Statistics in Medicine 14: 395–411. [Link]
Thompson, S. G., and J. P. T. Higgins. 2002. How should meta-regression analyses be undertaken and interpreted? Statis-
tics in Medicine 21: 1559–1573. [Link]
Thompson, S. G., and S. J. Sharp. 1999. Explaining heterogeneity in meta-analysis: A comparison of methods. Statistics
in Medicine 18: 2693–2708. [Link]
Also see
[META] meta regress — Meta-analysis regression
[META] meta regress postestimation — Postestimation tools for meta regress
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta funnelplot — Funnel plots
Description
meta funnelplot produces funnel plots, which are used to explore the presence of small-study ef-
fects often associated with publication bias. A funnel plot is a scatterplot of study-specific effect sizes on
the 𝑥 axis against the measures of study precision such as standard errors and inverse standard errors on
the 𝑦 axis. In the absence of small-study effects, the plot should look symmetrical. meta funnelplot
can also draw contour-enhanced funnel plots, which are useful for investigating whether the plot asym-
metry can be attributed to publication bias.
Quick start
Construct a funnel plot for meta data, which was declared by either meta set or meta esize
meta funnelplot
Specify 1%, 5%, and 10% significance contours to produce a contour-enhanced funnel plot
meta funnelplot, contours(1 5 10)
Same as above, but base the significance contours on a one-sided lower-tailed 𝑧 test, and request separate
plots for each group of variable groupvar
meta funnelplot, contours(1 5 10, lower) by(groupvar)
Specify the inverse standard error as the precision metric on the 𝑦 axis
meta funnelplot, metric(invse)
Menu
Statistics > Meta-analysis
269
meta funnelplot — Funnel plots 270
Syntax
Construct a funnel plot
meta funnelplot [ if ] [ in ] [ , level(#) options ]
options Description
Model
random[ (remethod) ] random-effects meta-analysis
common[ (cefemethod ) ] common-effect meta-analysis
fixed[ (cefemethod ) ] fixed-effects meta-analysis
Options
by(varlist , . . .) construct a separate plot for each group formed by varlist
metric(metric) specify 𝑦-axis metric; default is metric(se)
n(#) evaluate CI lines or significance contours at # points;
default is n(300)
[ no ]metashow display or suppress meta settings in the output
graph options affect rendition of overall funnel plot
collect is allowed; see [U] 11.1.10 Prefix commands.
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
cefemethod Description
mhaenszel Mantel–Haenszel
invvariance inverse variance
ivariance synonym for invvariance
meta funnelplot — Funnel plots 271
Options
Main
contours(contourspec) specifies that a contour-enhanced funnel plot be plotted instead of the default
standard funnel plot; see Contour-enhanced funnel plots. This option may not be combined with
options ciopts() and level().
contourspec is numlist[ , lower upper lines graph options ]. numlist specifies the levels of sig-
nificance (as percentages) and may contain no more than 8 integer values between 1 and 50.
lower and upper specify that the significance contours be based on one-sided lower- or upper-
tailed 𝑧 tests of individual effect sizes. In other words, the studies in the shaded area of a specific
contour 𝑐 are considered not statistically significant based on one-sided lower- or upper-tailed
𝑧 tests with 𝛼 = 𝑐/100. By default, the contours correspond to the two-sided 𝑧 tests.
lines specifies that only the contours lines be plotted. That is, no shaded regions will be dis-
played.
graph options are any of the options documented in [G-3] area options except recast() or, if
option lines is specified, any of the options documented in [G-3] line options.
Model
Options random(), common(), and fixed() specify a meta-analysis model to use when estimating the
overall effect size. For historical reasons, the default is common(invvariance), regardless of the global
model declared by meta set or meta esize. Specify one of these options with meta funnelplot to
override this default. Options random(), common(), and fixed() may not be combined. Also see
Meta-analysis models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis; see
Random-effects model in [META] Intro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common and common(cefemethod) specify that a common-effect model be assumed for meta-analysis;
see Common-effect (“fixed-effect”) model in [META] Intro. Also see the discussion in [META] meta
data about common-effect versus fixed-effects models.
meta funnelplot — Funnel plots 272
common implies common(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
common(invvariance) for all other effect sizes. common(mhaenszel) is supported only with effect
sizes lnoratio, lnrratio, and rdiff.
cefemethod is one of mhaenszel or invvariance (synonym ivariance). See Options in
[META] meta esize for more information.
fixed and fixed(cefemethod) specify that a fixed-effects model be assumed for meta-analysis; see
Fixed-effects model in [META] Intro. Also see the discussion in [META] meta data about fixed-effects
versus common-effect models.
fixed implies fixed(mhaenszel) for effect sizes lnoratio, lnrratio, and rdiff and
fixed(invvariance) for all other effect sizes. fixed(mhaenszel) is supported only with effect
sizes lnoratio, lnrratio, and rdiff.
cefemethod is one of mhaenszel or invvariance (synonym ivariance); see Options in
[META] meta esize for more information.
Options
by(varlist[ , byopts ]) specifies that a separate plot for each group defined by varlist be produced. byopts
are any of the options documented in [G-3] by option. by() is useful to explore publication bias in the
presence of between-study heterogeneity induced by a set of categorical variables. These variables
must then be specified in the by() option.
metric(metric) specifies the precision metric on the 𝑦 axis. metric is one of se, invse, var, invvar,
n, or invn. When metric is one of n or invn, no CIs or significance contours are plotted. The default
is metric(se).
se specifies that the standard error, 𝜎̂𝑗 , be used as the precision metric.
invse specifies that the inverse of the standard error, 1/𝜎̂𝑗 , be used as the precision metric.
var specifies that the variance, 𝜎̂𝑗2 , be used as the precision metric.
invvar specifies that the inverse of the variance, 1/𝜎̂𝑗2 , be used as the precision metric.
n specifies that the sample size, 𝑛𝑗 , be used as the precision metric.
invn specifies that the inverse of the sample size, 1/𝑛𝑗 , be used as the precision metric.
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set. This option may not be combined
with option contours().
n(#) specifies the number of points at which to evaluate the CIs or, if option contours() is specified,
significance contours. The default is n(300).
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
ES line
esopts(line options) affects the rendition of the line that plots the estimated overall effect size; see
[G-3] line options.
meta funnelplot — Funnel plots 273
CI plot
ciopts(ciopts) affects the rendition of the (pseudo) CI lines in a funnel plot. ciopts are any of the
options documented in [G-3] line options and option recast(rarea) as described in [G-3] ad-
vanced options. This option may not be combined with option contours().
Add plots
addplot(plot) allows adding more graph twoway plots to the graph; see [G-3] addplot option.
Y axis, X axis, Titles, Legend, Overall
twoway options are any of the options documented in [G-3] twoway options. These include options for
titling the graph (see [G-3] title options) and for saving the graph to disk (see [G-3] saving option).
Introduction
A funnel plot is used to visually explore “small-study effects”. The term small-study effects (Sterne,
Gavaghan, and Egger 2000) is used in meta-analysis to describe the cases when the results of smaller
studies differ systematically from the results of larger studies. For instance, smaller studies often report
larger effect sizes than the larger studies. One of the reasons for the presence of small-study effects is
publication bias, also referred to as reporting bias.
For more formal testing of small-study effects, see [META] meta bias. To assess the impact of publi-
cation bias on the results, see [META] meta trimfill.
Also see Publication bias of [META] Intro for information about publication bias.
Funnel plots
The funnel plot (Light and Pillemer 1984) is a scatterplot of the study-specific effect sizes against
measures of study precision. This plot is commonly used to explore publication bias. In the absence of
publication bias, the shape of the scatterplot should resemble a symmetric (inverted) funnel.
In a funnel plot, the effect sizes, 𝜃𝑗̂ ’s, from individual studies are plotted on the 𝑥 axis, and measures
of study precision such as standard errors, 𝜎̂𝑗 ’s, or sample sizes, 𝑛𝑗 ’s, are plotted on the 𝑦 axis (Sterne and
Harbord 2016). The line corresponding to the estimated overall effect size is also plotted on a funnel plot.
In addition to standard errors and sample sizes, other choices for metrics on the 𝑦 axis include inverse
standard errors, 1/𝜎̂𝑗 ’s; variances, 𝜎̂𝑗2 ’s; inverse variances, 1/𝜎̂𝑗2 ’s; and inverse sample sizes, 1/𝑛𝑗 ’s.
Sterne and Egger (2001) studied various metrics and found that the standard error metric performed well
in many cases.
meta funnelplot — Funnel plots 274
In the absence of publication bias (and between-study heterogeneity), the studies should be distributed
symmetrically about the overall effect size because the sampling error is random. Also, the effect-size
estimates from the smaller studies will be more variable than those from the larger studies. Thus, the
scatter will be wider at the base of the plot creating, in the absence of bias, a symmetrical funnel shape
or, more precisely, a symmetrical inverted funnel shape. When the statistically nonsignificant results of
smaller studies are not published (and thus not included in the meta-analysis), an asymmetrical shape of
the funnel plot may be observed. In this case, the estimate of the overall effect size will overestimate
the true effect size. See Sterne, Becker, and Egger (2005) for details. Also see Examples of using meta
funnelplot for examples of funnel plots.
Sutton (2009) states that when the 𝑦-axis metric is one of standard error, variance, or their inverses,
a (1 − 𝛼) × 100% CI can be formed around the overall estimate. This CI can provide more formal
interpretation of the plot. But the author suggests that caution be used when interpreting these CIs because
they are formed around the estimate of the overall effect size that may be affected by publication bias.
This is one of the reasons why the funnel-plot CIs are often referred to as pseudo CIs.
In general, there may be many reasons for an asymmetric funnel plot such as the choice of the plotted
effect size (Sterne et al. 2011), the presence of a moderator correlated with the study effect and study
size (Peters et al. 2008), or simply chance. One of the more common reasons, however, is the presence
of substantial between-study heterogeneity (Sterne, Gavaghan, and Egger 2000).
The between-study heterogeneity, if present, must be addressed before the exploration of publication
bias. For instance, if there are study-level covariates that explain the differences between the studies, their
influence can distort a funnel plot if they are not accounted for in the main meta-analysis (Sutton 2009).
Suppose that during our subgroup meta-analysis (see option subgroup() in [META] meta summarize),
we identified a categorical variable that explains most of the heterogeneity between the studies. The
exploration of the publication bias should then be performed separately for each group. That is, a separate
funnel plot should be constructed for each subgroup. In the case of a continuous variable, some authors
suggest constructing a funnel plot based on the residuals, 𝜃𝑗̂ − x𝑗 β, ̂ on the 𝑥 axis against their standard
errors on the 𝑦 axis, where the residuals are obtained from a meta-regression that uses this continuous
variable as the moderator; see [META] meta regress and [META] meta regress postestimation.
Peters et al. (2008) (also see Palmer et al. [2016]) suggest that contour lines of statistical significance
(or significance contours) be added to the funnel plot. These “contour-enhanced” funnel plots are useful
for determining whether the funnel-plot asymmetry is potentially caused by publication bias or is perhaps
due to other reasons. The contour lines that correspond to certain significance levels (𝛼 = 0.01, 0.05,
0.1, etc.) of tests of zero effect sizes are overlaid on the funnel plot. Publication bias is suspect if there
are studies, especially smaller studies, that are missing in the nonsignificant regions. Otherwise, other
reasons may explain the presence of the funnel-plot asymmetry.
By default, the CIs are displayed, which correspond to the confidence level as declared by meta set or
meta esize. You can specify a different level in the level() option. You can also specify the ciopts()
option to modify the default look of the CI lines.
Instead of the CIs, you can request a contour-enhanced funnel plot by specifying the desired levels of
significance (as a percentage) in the contours() option. The default significance contours are based on
two-sided significance tests of individual effect sizes. You can use lower or upper within contours()
to specify that the significance contours be based on the corresponding one-sided tests. You can also
specify lines within contours() to recast the contours to be displayed as lines instead of shaded area
plots.
You can use the by(varlist) option to produce separate funnel plots for each group defined by varlist.
This option is useful after a subgroup analysis (see option subgroup() in [META] meta summarize). If
a subgroup analysis identified a categorical variable that explains some of the between-study variability,
that variable must be specified in the by() option when using meta funnelplot to explore publication
bias.
You can also change the default look of the effect-size line by specifying the esopts() option.
In the next section, we describe some of the uses of meta funnelplot.
meta query, short reminds us about the main settings of the declaration step. Our data were declared
by using meta esize with variables nstreat, nftreat, nscontrol, and nfcontrol representing the
summary data from 2 × 2 tables, which record the numbers of successes and failures in the treatment and
control arms. The computed effect sizes are log odds-ratios; their values and standard errors are stored
in the respective system variables meta es and meta se. The declared meta-analysis model is the
default random-effects model with the REML estimation method.
meta funnelplot — Funnel plots 276
Funnel plot
0
.5
Standard error
Pseudo 95% CI
Studies
Estimated θIV
1
1.5
-2 0 2 4 6
Log odds-ratio
The scatterplot of log odds-ratios against their standard errors is produced. The estimated effect-size
line and the corresponding pseudo 95% CIs are also plotted. The funnel plot is clearly asymmetric with
smaller, less precise studies—studies with larger standard errors—reporting larger effect sizes than the
more precise studies. This may suggest the presence of publication bias. The plotted pseudo CI lines are
not genuine CI limits, but they provide some insight into the spread of the observed effect sizes about the
estimate of the overall effect size. In the absence of publication bias and heterogeneity, we would expect
the majority of studies to be randomly scattered within the CI region resembling an inverted funnel shape.
Notice that although the declared meta-analysis model was the random-effects model with the REML
estimation method, the default model used by meta funnelplot was the common-effect model with the
inverse-variance method, as is indicated in the brief output of meta settings reported by the command.
This is the model traditionally used with funnel plots in the literature. The reported model and method
are used to compute the estimate of the overall effect size, the overall log odds-ratio in our example,
which is depicted by the reference (red) effect-size line.
meta funnelplot — Funnel plots 277
Funnel plot
0
.5
Standard error
Pseudo 95% CI
Studies
Estimated θREML
1
1.5
-2 0 2 4 6
Log odds-ratio
From the output of meta settings, a random-effects model with the REML method is now used to estimate
the overall log odds-ratio. Our conclusion about the existence of potential publication bias remains the
same.
For brevity, let’s suppress the meta setting information from the output of meta funnelplot for
the rest of the analysis. We can do this by specifying the nometashow option with meta update (see
[META] meta update).
. quietly meta update, nometashow
meta funnelplot — Funnel plots 278
Funnel plot
4
3
Inverse standard error
Pseudo 95% CI
2 Studies
Estimated θIV
0
-2 0 2 4 6
Log odds-ratio
Because our 𝑦-axis metric is now 1/𝜎̂𝑗 , the shape of the plotted CI lines is a hyperbola. The interpretation,
however, is similar. We still want to see the majority of studies be concentrated within the regions defined
by this hyperbola.
In this metric, the focus is on larger studies with the smaller studies compressed at the bottom. We
can see that the asymmetry does not appear to be present for larger studies with, say, 1/𝜎̂𝑗 > 2. But the
asymmetry is present for the smaller studies.
meta funnelplot — Funnel plots 279
Funnel plot
3
Inverse standard error
Pseudo 95% CI
Studies
2 Estimated θIV
-2 0 2 4 6
Log odds-ratio
.5
Standard error
1% < p < 5%
5% < p < 10%
p > 10%
Studies
1 Estimated θIV
1.5
-4 -2 0 2 4
Log odds-ratio
The plotted contour regions define the regions of statistical significance (or nonsignificance) of the in-
dividual effect sizes 𝜃𝑗 . That is, if you consider the significance test of 𝐻0 ∶ 𝜃𝑗 = 0 for a study 𝑗, the
contour regions represent the critical regions of such tests for all studies at the specified significance
meta funnelplot — Funnel plots 280
level such as 1%, 5%, and 10% levels in our example. Thus, if a study falls outside a certain region, we
have statistical evidence to reject the null hypothesis of no effect at the significance level corresponding
to that region.
In our example, for studies in the white region, the null hypothesis of no effect can be rejected at the
1% significance level. That is, the significance tests for these studies would have 𝑝-values less than 0.01
or 1%. For studies in the light-gray region, the 𝑝-values would be between 1% and 5%. For studies in
the darker-gray region, the 𝑝-values would be between 5% and 10%. And for studies in the darkest-gray
region, the 𝑝-values would be larger than 10%.
The plot clearly shows that almost all smaller studies report a statistically significant result, favoring
the treatment, either at the 1% or 5% level. On the other hand, some of the larger (more precise) studies
(in the darkest-gray region) report nonsignificant results. The hypothetical missing studies—the studies
that would make the scatterplot look symmetric with respect to the solid red vertical line—appear to fall
in the darkest-gray region corresponding to a 𝑝-value of more than 10%. Because we are “missing” small
studies in a region of statistical nonsignificance, this suggests that the observed asymmetry in the funnel
plot is likely because of publication bias.
Also see example 14 of [META] meta.
The estimate of the overall effect size may also be obtained from meta summarize (see [META] meta
summarize):
. meta summarize, common(invvariance) nostudies
Meta-analysis summary Number of studies = 37
Common-effect model
Method: Inverse-variance
theta: Overall Log odds-ratio
. display r(theta)
1.0604829
meta funnelplot — Funnel plots 281
The CI lines can be constructed by using twoway’s function command (see [G-2] graph twoway
function):
. twoway function theta-1.96*x, horizontal range(0 1.6) ||
> function theta+1.96*x, horizontal range(0 1.6)
In the above, x plays the role of 𝑦 in the earlier expression for CIs. We used the horizontal option
to interchange the roles of y and x in the function because 𝜃𝑗̂ appears on the 𝑥 axis and standard errors
on the 𝑦 axis in the funnel plot. We also specified the range() option so that the range of the plotted
function matches the observed range for the standard errors.
We use the above specification in the addplot() option with meta funnelplot. Because
addplot() implies a twoway plot, we can omit twoway within addplot(). We also specify several
other options to improve the look of the graph, which we describe later.
. local opts horizontal range(0 1.6) lpattern(dash) lcolor(”red”)
> legend(order(1 2 3 4 5 6) label(6 ”95% pseudo CI”))
. meta funnel, contours(1 5 10)
> addplot(function theta-1.96*x, ‘opts’ || function theta+1.96*x, ‘opts’)
.5 1% < p < 5%
Standard error
1.5
-4 -2 0 2 4
Log odds-ratio
We changed the color and pattern of the CI lines by using options lpattern() and lcolor(). We
used legend()’s suboption order() to display only the first six keys for the legend to avoid duplicate
keys for the two CI plots. We also provided a more descriptive label for the CI legend key. Also, to be
more precise, we could have replaced 1.96 in the above with invnormal(.975), which computes the
corresponding quantile of the standard normal distribution.
.5
Standard error
1% < p < 5%
5% < p < 10%
p > 10%
Studies
1 Estimated θIV
1.5
-2 0 2 4 6
Log odds-ratio
The interpretation of a one-sided contour-enhanced funnel plot is similar to that of a two-sided one.
Studies that fall in the upper-tailed region (the white region to the right) are statistically significant at the
1% level based on a one-sided upper-tailed test. The white space on the left is uninformative, and we can
suppress it by disallowing the 𝑥 axis to extend to −2. This may be done by specifying xlabel(0(2)6)
(see [G-3] axis label options).
. meta funnelplot, contours(1 5 10, upper) xlabel(0(2)6)
.5
Standard error
1% < p < 5%
5% < p < 10%
p > 10%
Studies
1 Estimated θIV
1.5
0 2 4 6
Log odds-ratio
meta funnelplot — Funnel plots 283
If we want to suppress all the extra white space around the plot, we can specify
plotregion(margin(zero)) (see [G-3] region options).
. meta funnelplot, contours(1 5 10, upper) xlabel(0(2)6)
> plotregion(margin(zero))
.5
Standard error
1% < p < 5%
5% < p < 10%
p > 10%
Studies
1 Estimated θIV
1.5
0 2 4 6
Log odds-ratio
Funnel plot
<= 1 week > 1 week
0
Standard error
Pseudo 95% CI
.2 Studies
Estimated θIV
.4
-1 -.5 0 .5 1 -1 -.5 0 .5 1
Std. mean diff.
Graphs by Prior teacher-student contact > 1 week
The above graph shows funnel plots of the subgroups for prior contact of one week or less and more
than one week, respectively. These funnels are centered on different effect-size values, but there is little
evidence of asymmetry in either plot. We should be careful with our interpretation, however, because
we have only a few studies in each plot.
Stored results
meta funnelplot stores the following in r():
Scalars
r(theta) estimated overall effect size
r(xmin) minimum abscissa of scatter points
r(xmax) maximum abscissa of scatter points
r(ymin) minimum ordinate of scatter points
r(ymax) maximum ordinate of scatter points
Macros
r(model) meta-analysis model
r(method) meta-analysis estimation method
r(metric) metric for the 𝑦 axis
r(contours) significance levels of contours
meta funnelplot — Funnel plots 285
𝑓(𝑦) = 𝑦
and the CI curves form straight lines. When variances, 𝜎̂𝑗2 ’s, are plotted on the 𝑦 axis,
√
𝑓(𝑦) = 𝑦
and the CI curves form a parabola. When inverse standard deviations, 1/𝜎̂𝑗 ’s, or inverse variances, 1/𝜎̂𝑗2 ,
are plotted on the 𝑦 axis
1 1
𝑓(𝑦) = and 𝑓(𝑦) = √
𝑦 𝑦
and the CI curves form a hyperbola.
When the contours() option is specified, the contour region corresponding to a significance level
𝛼 (specified as a percentage in contours()) for a two-sided test is defined as the set of points (𝑥, 𝑦),
𝑥
{(𝑥, 𝑦) ∶ ∣ ∣ ≤ 𝑧1−𝛼/2 }
𝑓(𝑦)
where 𝑓(𝑦) depends on the chosen metric and is defined as before. For upper one-sided tests, the contour
region is defined as
𝑥
{(𝑥, 𝑦) ∶ ≥ 𝑧1−𝛼 }
𝑓(𝑦)
and for lower one-sided tests, it is defined as
𝑥
{(𝑥, 𝑦) ∶ ≤ 𝑧𝛼 }
𝑓(𝑦)
The n(#) option specifies how many evaluation points are used to construct the CI lines or, when the
contours() option is specified, the significance contours. By default, 300 points are used for 𝑦 for CI
lines and for each of 𝑥 and 𝑦 for contours.
meta funnelplot — Funnel plots 286
References
Light, R. J., and D. B. Pillemer. 1984. Summing Up: The Science of Reviewing Research. Cambridge, MA: Harvard
University Press. [Link]
Palmer, T. M., J. L. Peters, A. J. Sutton, and S. G. Moreno. 2016. “Contour-enhanced funnel plots for meta-analysis”.
In Meta-Analysis in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne,
139–152. 2nd ed. College Station, TX: Stata Press.
Peters, J. L., A. J. Sutton, D. R. Jones, K. R. Abrams, and L. Rushton. 2008. Contour-enhanced meta-analysis funnel
plots help distinguish publication bias from other causes of asymmetry. Journal of Clinical Epidemiology 61: 991–996.
[Link]
Sterne, J. A. C., B. J. Becker, and M. Egger. 2005. “The funnel plot”. In Publication Bias in Meta-Analysis: Prevention,
Assessment and Adjustments, edited by H. R. Rothstein, A. J. Sutton, and M. Borenstein, 73–98. Chichester, UK: Wiley.
[Link]
Sterne, J. A. C., and M. Egger. 2001. Funnel plots for detecting bias in meta-analysis: Guidelines on choice of axis.
Journal of Clinical Epidemiology 54: 1046–1055. [Link]
Sterne, J. A. C., D. Gavaghan, and M. Egger. 2000. Publication and related bias in meta-analysis: Power of statistical
tests and prevalence in the literature. Journal of Clinical Epidemiology 53: 1119–1129. [Link]
4356(00)00242-0.
Sterne, J. A. C., and R. M. Harbord. 2016. “Funnel plots in meta-analysis”. In Meta-Analysis in Stata: An Updated Col-
lection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 124–138. 2nd ed. College Station, TX: Stata
Press.
Sterne, J. A. C., A. J. Sutton, J. P. A. Ioannidis, N. Terrin, D. R. Jones, J. Lau, J. R. Carpenter, G. Rücker, R. M. Harbord,
C. H. Schmid, J. Tetzlaff, J. J. Deeks, J. L. Peters, P. Macaskill, G. Schwarzer, S. Duval, D. G. Altman, D. Moher, and
J. P. T. Higgins. 2011. Recommendations for examining and interpreting funnel plot asymmetry in meta-analyses of
randomised controlled trials. BMJ 343: d4002. [Link]
Sutton, A. J. 2009. “Publication bias”. In The Handbook of Research Synthesis and Meta-Analysis, edited by H. Cooper,
L. V. Hedges, and J. C. Valentine, 435–452. 2nd ed. New York: Russell Sage Foundation.
Also see
[META] meta bias — Tests for small-study effects in meta-analysis
[META] meta data — Declare meta-analysis data
[META] meta trimfill — Nonparametric trim-and-fill analysis of publication bias
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta bias — Tests for small-study effects in meta-analysis
Description
meta bias performs tests for the presence of small-study effects in a meta-analysis, also known as
tests for funnel-plot asymmetry and publication-bias tests. Three regression-based tests and a nonpara-
metric rank correlation test are available. For regression-based tests, you can include moderators to
account for potential between-study heterogeneity.
Quick start
Test for small-study effects by using the Egger regression-based test
meta bias, egger
Same as above, but include a moderator x1 to account for between-study heterogeneity induced by x1
meta bias x1, egger
Same as above, but assume a random-effects model with the empirical Bayes method for estimating 𝜏 2
in the regression-based test
meta bias x1, egger random(ebayes)
With log risk-ratios, test for small-study effects by using the Harbord regression-based test with moder-
ators x1 and x2 to account for between-study heterogeneity
meta bias x1 i.x2, harbord
With log odds-ratios, test for small-study effects by using the Peters regression-based test and assuming
a common-effect model
meta bias, peters common
Menu
Statistics > Meta-analysis
287
meta bias — Tests for small-study effects in meta-analysis 288
Syntax
Regression-based tests for small-study effects
Test using meta-analysis model as declared with meta set or meta esize
meta bias [ moderators ] [ if ] [ in ], regtest [ modelopts ]
Traditional test
meta bias [ if ] [ in ], regtest traditional [ options ]
regtest Description
egger Egger’s test
harbord Harbord’s test
peters Peters’s test
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
meta bias — Tests for small-study effects in meta-analysis 289
options Description
Main
tdistribution report 𝑡 test instead of 𝑧 test
[ no ]metashow display or suppress meta settings in the output
detail display intermediate estimation results
Maximization
maximize options control the maximization process of the between-study variance
moderators may contain factor variables; see [U] 11.4.3 Factor variables.
collect is allowed; see [U] 11.1.10 Prefix commands.
Options
Main
One of egger, harbord, peters, or begg (or their synonyms) must be specified. In addition to the
traditional versions of the regression-based tests, their random-effects versions and extensions to allow
for moderators are also available.
egger (synonym esphillips) specifies that the regression-based test of Egger, Davey Smith, and
Phillips (1997) be performed. This test is known as the Egger test in the literature. This is the test
of the slope in a weighted regression of the effect size, meta es, on its standard error, meta se,
optionally adjusted for moderators. This test tends to have an inflated type I error rate for two-sample
binary data.
harbord (synonym hesterne) specifies that the regression-based test of Harbord, Egger, and Sterne
(2006) be performed. This test is known as the Harbord test. This is the test of the slope in a weighted
regression of 𝑍𝑗 /𝑉𝑗 on 1/√𝑉𝑗 , optionally adjusting for moderators, where 𝑍𝑗 is the score of the
likelihood function and 𝑉𝑗 is the score variance. This test is used for two-sample binary data with
effect sizes log odds-ratio and log risk-ratio. It was designed to reduce the correlation between the
effect-size estimates and their corresponding standard errors, which is inherent to the Egger test with
two-sample binary data.
peters (synonym petersetal) specifies that the regression-based test of Peters et al. (2006) be per-
formed. This test is known as the Peters test in the literature. This is the test of the slope in a weighted
regression of the effect size, meta es, on the inverse sample size, 1/𝑛𝑗 , optionally adjusted for mod-
erators. The Peters test is used with two-sample binary data for log odds-ratios. Because it regresses
effect sizes on inverse sample sizes, they are independent by construction.
begg (synonym bmazumdar) specifies that the nonparametric rank correlation test of Begg and Mazum-
dar (1994) be performed. This is not a regression-based test, so only options metashow, nometashow,
and detail are allowed with it. This test is known as the Begg test in the literature. This test is no
longer recommended in the literature and provided for completeness.
Options random(), common, and fixed, when specified with meta bias for regression-based tests, tem-
porarily override the global model declared by meta set or meta esize during the computation. Op-
tions random(), common, and fixed may not be combined. If these options are omitted, the declared
meta-analysis model is assumed; see Declaring a meta-analysis model in [META] meta data. Also see
Meta-analysis models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for regression-based
test; see Random-effects model in [META] Intro.
meta bias — Tests for small-study effects in meta-analysis 290
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common specifies that a common-effect model be assumed for regression-based test; see Common-effect
(“fixed-effect”) model in [META] Intro. It uses the inverse-variance estimation method; see Meta-
analysis estimation methods in [META] Intro. Also see the discussion in [META] meta data about
common-effect versus fixed-effects models. common is not allowed in the presence of moderators.
fixed specifies that a fixed-effects model be assumed for regression-based test; see Fixed-effects model
in [META] Intro. It uses the inverse-variance estimation method; see Meta-analysis estimation meth-
ods in [META] Intro. Also see the discussion in [META] meta data about fixed-effects versus common-
effect models.
se(seadj) specifies that the adjustment seadj be applied to the standard errors of the coefficients. Addi-
tionally, the tests of significance of the coefficients are based on a Student’s 𝑡 distribution instead of
the normal distribution. se() is allowed only with random-effects models.
seadj is khartung[ , truncated ]. Adjustment khartung specifies that the Knapp–Hartung ad-
justment (Hartung and Knapp 2001a, 2001b; Knapp and Hartung 2003), also known as the
Sidik–Jonkman adjustment (Sidik and Jonkman 2002), be applied to the standard errors of the
coefficients. hknapp and sjonkman are synonyms for khartung. truncated specifies that the
truncated Knapp–Hartung adjustment (Knapp and Hartung 2003), also known as the modified
Knapp–Hartung adjustment, be used.
traditional specifies that the traditional version of the selected regression-based test be performed.
This option is equivalent to specifying options fixed, multiplicative, and tdistribution. It
may not be specified with moderators.
multiplicative performs a fixed-effects regression-based test that accounts for residual heterogeneity
by including a multiplicative variance parameter 𝜙. 𝜙 is referred to as an “(over)dispersion parameter”.
See Introduction in [META] meta regress for details.
tdistribution reports a 𝑡 test instead of a 𝑧 test. This option may not be combined with option se().
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
detail specifies that intermediate estimation results be displayed. For regression-based tests, the results
from the regression estimation will be displayed. For the nonparametric test, the results from ktau
([R] spearman) will be displayed.
Maximization
Introduction
As we discussed in Introduction of [META] meta funnelplot, there is a tendency for smaller studies
to report different, often larger, effect sizes than the larger studies. There are various reasons that explain
this tendency, but the two more common ones are between-study heterogeneity and publication bias. We
covered the between-study heterogeneity in [META] meta summarize and [META] meta regress. Here
we focus on publication bias.
Publication bias often arises when the decision of whether to publish a study depends on the statis-
tical significance of the results of the study. Typically, nonsignificant results from small studies have a
tendency of not getting published. See Publication bias of [META] Intro for details.
The funnel plot ([META] meta funnelplot) is commonly used to investigate publication bias or, more
generally, small-study effects in meta-analysis. The presence of asymmetry in the funnel plot may indi-
cate the presence of publication bias. Graphical evaluation of funnel plots is useful for data exploration
but may be subjective when detecting the asymmetry. Thus, a more formal evaluation of funnel-plot
asymmetry is desired. Statistical tests were developed for detecting the asymmetry in a funnel plot; they
are often called tests for funnel-plot asymmetry. They are also sometimes referred to as tests of publi-
cation bias, but this terminology may be misleading because the presence of a funnel-plot asymmetry is
not always due to publication bias (for example, Sterne et al. [2011]). Thus, we prefer a more generic
term—tests for small-study effects—suggested by Sterne, Gavaghan, and Egger (2000).
There are two types of tests for small-study effects: regression-based tests and a nonparametric rank-
based test. The main idea behind these tests is to determine whether there is a statistically significant
association between the effect sizes and their measures of precision such as effect-size standard errors.
The Egger regression-based test (Egger et al. 1997) performs a weighted linear regression of the effect
sizes, 𝜃𝑗̂ ’s, on their standard errors, 𝜎̂𝑗 ’s, weighted by the precision, 1/𝜎̂𝑗 ’s. The test for the zero slope
in that regression provides a formal test for small-study effects. In some cases, such as in the presence
of a large true effect or with two-sample binary data, the Egger test tends to have an inflated type I error
(for example, Harbord, Harris, and Sterne [2016]). Two alternative tests, the Harbord test and the Peters
test, were proposed to alleviate the type I error problem in those cases.
The Harbord regression-based test (Harbord, Egger, and Sterne 2006) corresponds to the zero-slope
test in a weighted regression of 𝑍𝑗 /𝑉𝑗 ’s on 1/√𝑉𝑗 ’s, where 𝑍𝑗 is the score of the likelihood function
and 𝑉𝑗 is the score variance. The Peters regression-based test (Peters et al. 2006) corresponds to the
zero-slope test in a weighted regression of the effect sizes, 𝜃𝑗̂ ’s, on the respective inverse sample sizes,
1/𝑛𝑗 ’s. With two-sample binary data, these tests tend to perform better than the Egger test in terms of
the type I error while maintaining similar power.
The rank correlation Begg test (Begg and Mazumdar 1994) tests whether Kendall’s rank correlation
between the effect sizes and their variances equals zero. The regression-based tests tend to perform better
in terms of type I error than the rank correlation test. This test is provided mainly for completeness.
See Harbord, Harris, and Sterne (2016) and Steichen (2016) for more details about these tests.
meta bias — Tests for small-study effects in meta-analysis 292
As we discussed in [META] meta funnelplot, the presence of between-study heterogeneity may af-
fect the symmetry of a funnel plot. Thus, any statistical method based on the funnel plot will also be
affected (Sutton 2009). To account for the between-study heterogeneity, the regression-based tests can
be extended to incorporate moderators that may help explain the heterogeneity (Sterne and Egger 2005).
The traditional version of the regression-based tests used a multiplicative fixed-effects meta-
regression to account for residual heterogeneity (see Introduction of [META] meta regress). In addition to
adjusting for moderators, a random-effects meta-regression is considered a better alternative to account
for residual heterogeneity.
Ioannidis and Trikalinos (2007) provide the following recommendations for when it is appropriate to
use small-study tests: a) the number of studies should be greater than 10; b) there should be at least one
study with a statistically significant result; c) there should be no significant heterogeneity (𝐼 2 < 50%);
and d) the ratio of the maximum to minimum variances across studies should be larger than 4; that is,
max ({𝜎̂𝑗2 }𝐾 2 𝐾
𝑗=1 ) / min ({𝜎̂ 𝑗 }𝑖=1 ) > 4. If a) is violated, the tests may have low power. If c) is violated,
the asymmetry of the funnel plot may be induced by between-study heterogeneity rather than publication
bias. If d) is violated, the funnel plot will look more like a horizontal line than an inverted funnel, and
the funnel-asymmetry tests will have an inflated type I error. Also see Sterne et al. (2011) for details.
The results of the tests of small-study effects should be interpreted with caution. In the presence of
small-study effects, apart from publication bias, other reasons should also be explored to explain the
presence of small-study effects. If small-study effects are not detected by a test, their existence should
not be ruled out because the tests tend to have low power.
Also see [META] meta trimfill for assessing the impact of publication bias on the results.
From the meta summary, our data were declared by using meta set with variables stdmdiff and se
specifying the effect sizes and their standard errors, respectively. The declared meta-analysis model is
the default random-effects model with the REML estimation method.
Examples are presented under the following headings:
Example 1: Small-study effects due to a confounding moderator
Example 2: Traditional tests and detailed output
Example 3: Harbord’s test for small-study effects
From the output header, the regression-based test uses the declared random-effects model with REML
estimation to account for residual heterogeneity. The estimated slope, 𝛽1̂ , is 1.83 with a standard error of
0.724, giving a test statistic of 𝑧 = 2.53 and a 𝑝-value of 0.0115. This means that there is some evidence
of small-study effects.
In example 9 of [META] meta summarize, we used subgroup-analysis on binary variable week1,
which records whether teachers had prior contact with students for more than 1 week or for 1 week or
less, to account for between-study heterogeneity. It explained most of the heterogeneity present among
the effect sizes, with generally higher effect sizes in the low contact group.
meta bias — Tests for small-study effects in meta-analysis 294
Moderators that can explain a substantial amount of the heterogeneity should be included in the
regression-based test as a covariate. By properly accounting for heterogeneity through the inclusion
of week1, we can test for small-study effects due to reasons other than heterogeneity. We include factor
variable week1 as a moderator as follows:
. meta bias i.week1, egger
Effect-size label: Std. mean diff.
Effect size: stdmdiff
Std. err.: se
Regression-based Egger test for small-study effects
Random-effects model
Method: REML
Moderators: week1
H0: beta1 = 0; no small-study effects
beta1 = 0.30
SE of beta1 = 0.729
z = 0.41
Prob > |z| = 0.6839
Now that we have accounted for heterogeneity through moderator week1, the Egger test statistic is 0.41
with a 𝑝-value of 0.6839. Therefore, we have strong evidence to say that the presence of small-study
effects was the result of heterogeneity induced by teacher-student prior contact time.
Test of residual homogeneity: Q_res = chi2(17) = 28.77 Prob > Q_res = 0.0367
Regression-based Egger test for small-study effects
Fixed-effects model
Method: Inverse-variance
H0: beta1 = 0; no small-study effects
beta1 = 1.63
SE of beta1 = 0.798
t = 2.04
Prob > |t| = 0.0571
The traditional version also suggests the presence of small-study effects, but its 𝑝-value, 0.0571, is larger
than that from example 1.
meta bias — Tests for small-study effects in meta-analysis 295
Test of residual homogeneity: Q_res = chi2(17) = 28.77 Prob > Q_res = 0.0367
The header and coefficient table from meta bias’s detailed output is identical to that produced by meta
regress (see [META] meta regress).
The declared effect size is log odds-ratio, so we will use the Harbord regression-based test to inves-
tigate whether the small-study effects (or funnel-plot asymmetry) is present in these data.
. meta bias, harbord
Effect-size label: Log odds-ratio
Effect size: _meta_es
Std. err.: _meta_se
Regression-based Harbord test for small-study effects
Random-effects model
Method: REML
H0: beta1 = 0; no small-study effects
beta1 = 3.03
SE of beta1 = 0.741
z = 4.09
Prob > |z| = 0.0000
The 𝑝-value is less than 0.0001, so we reject the null hypothesis of no small-study effects. It is difficult
to be certain whether the small-study affects are driven by publication bias because of the presence of
substantial heterogeneity in these data (see [META] meta summarize). Note that the regression-based test
assumed an (REML) random-effects model, which accounts for heterogeneity present among the studies.
If we had access to study-level covariates for these data that could explain some of the between-study
variability, we could have specified them with meta bias.
Stored results
For regression-based tests, meta bias stores the following in r():
Scalars
r(beta1) estimate of the main slope coefficient
r(se) standard error for the slope estimate
r(z) 𝑧 statistic
r(t) 𝑡 statistic
r(p) two-sided 𝑝-value
Macros
r(testtype) type of test: egger, harbord, or peters
r(model) meta-analysis model
r(method) meta-analysis estimation method
r(moderators) moderators used in regression-based tests
Matrices
r(table) regression results
The total sample size for the 𝑗th study is denoted by 𝑛𝑗 = 𝑛1𝑗 + 𝑛2𝑗 .
Regression-based tests
Regression-based tests use meta-regression to examine a linear relationship between the individual
effect sizes and measures of study precision such as the effect-size standard errors, possibly adjusting for
moderators that explain some of the between-study variability.
In the subsections below, we provide the traditional versions of the regression-based tests. The ex-
tensions of traditional versions include the support of other models such as a random-effects model and
the support of moderators.
In the presence of moderators, the test for small-study effects is the test of 𝐻0 ∶ 𝛽1 = 0 in the corre-
sponding meta-regression with the following linear predictor,
where 𝑥2,𝑗 , . . . , 𝑥𝑝−1,𝑗 represent the moderators specified with meta bias and 𝑚𝑗 = 𝜎̂𝑗 for the Egger
test, 𝑚𝑗 = 1/√𝑉𝑗 for the Harbord test, and 𝑚𝑗 = 1/𝑛𝑗 for the Peters test. See the subsections below
for details about these tests. Also see Sterne and Egger (2005).
The computations of regression-based tests are based on the corresponding meta-regression models;
see Methods and formulas of [META] meta regress.
The formulas below are based on Harbord, Harris, and Sterne (2016), Sterne and Egger (2005), and
Peters et al. (2010).
meta bias — Tests for small-study effects in meta-analysis 298
The formulas and discussion in this subsection are based on Sterne and Egger (2005).
The test proposed by Egger, Davey Smith, Schneider, and Minder (1997) is based on a simple linear
regression of the standard normal variate, which is defined as the individual effect-size estimate divided
by its standard error, against the study precision, which is defined as the reciprocal of the standard error:
𝜃𝑗̂ 1
𝐸( ) = 𝑏 0 + 𝑏1 (1)
𝜎̂𝑗 𝜎̂𝑗
The Egger test of no small-study effects is the test of 𝐻0∶ 𝑏0 = 0.
Linear regression model (1) is equivalent to the weighted linear regression of the effect sizes 𝜃𝑗̂ ’s on
their standard errors 𝜎̂𝑗 ’s,
𝐸 (𝜃𝑗̂ ) = 𝑏1 + 𝑏0 𝜎̂𝑗 (2)
with weights inversely proportional to the variances of the effect sizes, 𝑤𝑗 = 1/𝜎̂𝑗2 . Note that the intercept
𝑏0 in regression (1) corresponds to the slope in the weighted regression (2). Therefore, Egger test for
small-study effects corresponds to a test of a linear trend in a funnel plot (see [META] meta funnelplot)
of effect sizes against their standard errors.
Let’s denote 𝛽0 = 𝑏1 and 𝛽1 = 𝑏0 . The statistical model for the traditional Egger’s test, as it originally
appeared in the literature (Egger et al. 1997), is given by
𝛽1̂
𝑡egger = ∣ ∣ > 𝑡𝐾−2,1−𝛼/2
̂E (𝛽1̂ )
S
where 𝑡𝐾−2,1−𝛼/2 is the (1 − 𝛼/2)th quantile of the Student’s 𝑡 distribution with 𝐾 − 2 degrees of
freedom. The above test is performed when you specify options egger and traditional.
Technical note
Sterne and Egger (2005) point out that, originally, Egger et al. (1997) used a weighted version of
(1) with weights equal to the inverse of the variances of effect sizes (1/𝜎̂𝑗2 ’s). The authors strongly
recommend that this version of the test not be used because it does not have a theoretical justification.
Consider the fixed-effects model 𝜃𝑗̂ ∼ 𝑁 (𝜃, 𝜎̂𝑗2 ). For a study 𝑗, let 𝑍𝑗 be the first derivative (score)
and 𝑉𝑗 be the negative second derivative (Fisher’s information) of the model log likelihood with respect
to 𝜃 evaluated at 𝜃 = 0 (Whitehead and Whitehead 1991; Whitehead 1997).
meta bias — Tests for small-study effects in meta-analysis 299
𝑍𝑗
𝐸( ) = 𝑏0 + 𝑏1 √𝑉𝑗 (3)
√𝑉𝑗
Note that 𝑍𝑗 and 𝑉𝑗 are the numerator and denominator of the log Peto’s odds-ratio as defined in Methods
and formulas of [META] meta esize.
When the effect of interest is the log risk-ratio,
Whitehead (1997) showed that when 𝜃𝑗 is small and 𝑛𝑗 is large, 𝜃𝑗̂ ≈ 𝑍𝑗 /𝑉𝑗 and 𝜎̂𝑗2 ≈ 1/𝑉𝑗 . In this
case, the Harbord regression model (3) is equivalent to Egger’s regression model (1). Thus, Harbord’s
test becomes equivalent to Egger’s test when all studies are large and have small effect sizes (Harbord,
Harris, and Sterne 2016).
As with Egger’s test, if we use the weighted version of regression model (3) and denote 𝛽0 = 𝑏1 and
𝛽1 = 𝑏0 in that model, the statistical model for the Harbord test, as it originally appeared in the literature,
is given by
𝑍𝑗 1 𝜙
= 𝛽 0 + 𝛽1 + 𝜖𝑗 weighted by 𝑤𝑗 = 𝑉𝑗 , where 𝜖𝑗 ∼ 𝑁 (0, )
𝑉𝑗 √𝑉𝑗 𝑉𝑗
𝜃𝑗̂ = ln (O
̂ R𝑗 ), and 𝜙 is the overdispersion parameter as defined in multiplicative meta-regression; see
Introduction of [META] meta regress.
meta bias — Tests for small-study effects in meta-analysis 300
The traditional Peters test is the test of 𝐻0 ∶ 𝛽1 = 0, and its null hypothesis is rejected if
𝑡peters = ∣𝛽1̂ /SE(𝛽1̂ )∣ > 𝑡𝐾−2,1−𝛼/2 . This test can be performed when you specify options peters
and traditional.
When the test is based on the random-effects model, the weights are given by 𝑤𝑗 = 1/(𝜎̂𝑗2 + 𝜏 ̂2 ).
𝜃𝑗̂ − 𝜃IV
̂
𝜃𝑗ŝ =
√𝑣𝑗s
where
∑𝐾 𝜃 ̂ /𝜎̂𝑗2
𝑗=1 𝑗
̂ =
𝜃IV
∑𝐾
𝑗=1
1/𝜎̂𝑗2
and
𝐾 −1
The Begg test (Begg and Mazumdar 1994) is Kendall’s rank correlation test of independence between
𝜃𝑗ŝ ’s and 𝜎̂𝑗2 ’s; see Methods and formulas of [R] spearman.
References
Begg, C. B., and M. Mazumdar. 1994. Operating characteristics of a rank correlation test for publication bias. Biometrics
50: 1088–1101. [Link]
Egger, M., G. Davey Smith, and A. N. Phillips. 1997. Meta-analysis: Principles and procedures. BMJ 315: 1533–1537.
[Link]
Egger, M., G. Davey Smith, M. Schneider, and C. Minder. 1997. Bias in meta-analysis detected by a simple, graphical
test. BMJ 315: 629–634. [Link]
Harbord, R. M., M. Egger, and J. A. C. Sterne. 2006. A modified test for small-study effects in meta-analyses of controlled
trials with binary endpoints. Statistics in Medicine 25: 3443–3457. [Link]
Harbord, R. M., R. J. Harris, and J. A. C. Sterne. 2016. “Updated tests for small-study effects in meta-analyses”. In Meta-
Analysis in Stata: An Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 153–165.
2nd ed. College Station, TX: Stata Press.
Hartung, J., and G. Knapp. 2001a. On tests of the overall treatment effect in meta-analysis with normally distributed
responses. Statistics in Medicine 20: 1771–1782. [Link]
———. 2001b. A refined method for the meta-analysis of controlled clinical trials with binary outcome. Statistics in
Medicine 20: 3875–3889. [Link]
Ioannidis, J. P. A., and T. A. Trikalinos. 2007. The appropriateness of asymmetry tests for publication bias in meta-
analyses: A large survey. Canadian Medical Association Journal 176: 1091–1096. [Link]
Knapp, G., and J. Hartung. 2003. Improved tests for a random effects meta-regression with a single covariate. Statistics
in Medicine 22: 2693–2710. [Link]
Peters, J. L., A. J. Sutton, D. R. Jones, K. R. Abrams, and L. Rushton. 2006. Comparison of two methods to detect
publication bias in meta-analysis. Journal of the American Medical Association 295: 676–680. [Link]
jama.295.6.676.
meta bias — Tests for small-study effects in meta-analysis 301
Peters, J. L., A. J. Sutton, D. R. Jones, K. R. Abrams, L. Rushton, and S. G. Moreno. 2010. Assessing publication bias
in meta-analyses in the presence of between-study heterogeneity. Journal of the Royal Statistical Society, A ser., 173:
575–591. [Link]
Raudenbush, S. W. 1984. Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of ex-
pectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology 76: 85–97.
[Link]
Raudenbush, S. W., and A. S. Bryk. 1985. Empirical Bayes meta-analysis. Journal of Educational Statistics 10: 75–98.
[Link]
Sidik, K., and J. N. Jonkman. 2002. A simple confidence interval for meta-analysis. Statistics in Medicine 21: 3153–3159.
[Link]
Steichen, T. J. 2016. “Tests for publication bias in meta-analysis”. In Meta-Analysis in Stata: An Updated Collection from
the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 166–176. 2nd ed. College Station, TX: Stata Press.
Sterne, J. A. C., and M. Egger. 2005. “Regression methods to detect publication and other bias in meta-analysis”. In
Publication Bias in Meta-Analysis: Prevention, Assessment and Adjustments, edited by H. R. Rothstein, A. J. Sutton,
and M. Borenstein, 99–110. Chichester, UK: Wiley. [Link]
Sterne, J. A. C., D. Gavaghan, and M. Egger. 2000. Publication and related bias in meta-analysis: Power of statistical
tests and prevalence in the literature. Journal of Clinical Epidemiology 53: 1119–1129. [Link]
4356(00)00242-0.
Sterne, J. A. C., A. J. Sutton, J. P. A. Ioannidis, N. Terrin, D. R. Jones, J. Lau, J. R. Carpenter, G. Rücker, R. M. Harbord,
C. H. Schmid, J. Tetzlaff, J. J. Deeks, J. L. Peters, P. Macaskill, G. Schwarzer, S. Duval, D. G. Altman, D. Moher, and
J. P. T. Higgins. 2011. Recommendations for examining and interpreting funnel plot asymmetry in meta-analyses of
randomised controlled trials. BMJ 343: d4002. [Link]
Sutton, A. J. 2009. “Publication bias”. In The Handbook of Research Synthesis and Meta-Analysis, edited by H. Cooper,
L. V. Hedges, and J. C. Valentine, 435–452. 2nd ed. New York: Russell Sage Foundation.
Whitehead, A., and J. Whitehead. 1991. A general parametric approach to the meta-analysis of randomized clinical trials.
Statistics in Medicine 10: 1665–1677. [Link]
Whitehead, J. 1997. The Design and Analysis of Sequential Clinical Trials. Rev. 2nd ed. Chichester, UK: Wiley.
Also see
[META] meta data — Declare meta-analysis data
[META] meta funnelplot — Funnel plots
[META] meta regress — Meta-analysis regression
[META] meta summarize — Summarize meta-analysis data
[META] meta trimfill — Nonparametric trim-and-fill analysis of publication bias
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta trimfill — Nonparametric trim-and-fill analysis of publication bias
Description
meta trimfill performs the nonparametric “trim-and-fill” method to account for publication bias in
meta-analysis. The command estimates the number of studies potentially missing from a meta-analysis
because of publication bias, imputes these studies, and computes the overall effect-size estimate using
the observed and imputed studies. It can also provide a funnel plot, in which omitted studies are imputed.
Quick start
Perform the trim-and-fill analysis of publication bias under the default setting specified in either meta
set or meta esize
meta trimfill
Same as above, and request a funnel plot
meta trimfill, funnel
Specify that the number of missing studies be estimated using the rightmost-run estimator instead of the
default linear estimator
meta trimfill, estimator(run)
Specify that the estimation of the overall effect size be based on the fixed-effects inverse-variance method
during the iteration step and random-effects DerSimonian–Laird method during the pooling step of
the trim-and-fill algorithm
meta trimfill, itermethod(fixed) poolmethod(dlaird)
Specify that studies in the right side of the funnel plot (with large effect sizes) be suppressed and need to
be imputed
meta trimfill, right
Menu
Statistics > Meta-analysis
302
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 303
Syntax
meta trimfill [ if ] [ in ] [ , options ]
options Description
Main
estimator(estimator) estimator for the number of missing studies; default is linear
left impute studies on the left side of the funnel plot
right impute studies on the right side of the funnel plot
funnel[ (funnelopts) ] draw funnel plot
Options
level(#) set confidence level; default is as declared for meta-analysis
eform option report exponentiated results
[ no ]metashow display or suppress meta settings in the output
display options control column formats
Iteration
random[ (remethod) ] random-effects meta-analysis to use for iteration and pooling steps
common common-effect meta-analysis to use for iteration and pooling steps;
implies inverse-variance method
fixed fixed-effects meta-analysis to use for iteration and pooling steps;
implies inverse-variance method
itermethod(method ) meta-analysis to use for iteration step
poolmethod(method ) meta-analysis to use for pooling step
iterate(#) maximum number of iterations for the trim-and-fill algorithm;
default is iterate(100)
[ no ]log display an iteration log from the trim-and-fill algorithm
collect is allowed; see [U] 11.1.10 Prefix commands.
estimator Description
linear linear estimator, 𝐿0 ; the default
run run estimator, 𝑅0
quadratic quadratic estimator, 𝑄0 (rarely used)
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
ebayes empirical Bayes
dlaird DerSimonian–Laird
sjonkman Sidik–Jonkman
hedges Hedges
hschmidt Hunter–Schmidt
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 304
Options
Main
estimator(estimator) specifies the type of estimator for the number of missing studies. estimator is
one of linear, run, or quadratic. The default is estimator(linear).
linear specifies that the “linear” estimator, 𝐿0 , be used to estimate the number of missing studies.
This is the default estimator.
run specifies that the rightmost-run estimator, 𝑅0 , be used to estimate the number of missing studies.
quadratic specifies that the “quadratic” estimator, 𝑄0 , be used to estimate the number of missing
studies. This estimator is not recommended in the literature and provided for completeness.
Duval and Tweedie (2000a) found that the 𝐿0 and 𝑅0 estimators perform better in terms of mean
squared error (MSE) than the 𝑄0 estimator, with 𝐿0 having the smallest MSE in certain cases. They
also found that 𝑅0 tends to be conservative in some cases. Therefore, 𝐿0 is chosen to be the default,
but the authors recommend that all estimators be considered in practice. Also see Estimating the
number of missing studies in Methods and Formulas for details about the estimators.
left and right specify the side of the funnel plot, where the missing studies are to be imputed. By
default, the side is chosen based on the results of the traditional Egger test—if the estimated slope is
positive, left is assumed; otherwise, right is assumed. Only one of left or right is allowed.
left assumes that the leftmost (smallest) effect sizes have been suppressed and specifies to impute
them.
right assumes that the rightmost (largest) effect sizes have been suppressed and specifies to impute
them.
funnel and funnel(funnelopts) specify to draw a funnel plot that includes the imputed studies.
funnelopts are any options as documented in [META] meta funnelplot, except random[ () ],
common[ () ], fixed[ () ], by(), and [ no ]metashow.
Options
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
as declared for the meta-analysis session; see Declaring a confidence level for meta-analysis in
[META] meta data. Also see option level() in [META] meta set.
eform option is one of eform, eform(string), or, or rr. It reports exponentiated effect sizes and trans-
forms their respective confidence intervals, whenever applicable. By default, the results are displayed
in the metric declared with meta set or meta esize such as log odds-ratios and log risk-ratios.
eform option affects how results are displayed, not how they are estimated and stored. eform option
is not available with two-sample continuous data, one-sample binary data, and correlation data.
eform(string) labels the exponentiated effect sizes as string; the other options use default labels. The
default label is specific to the chosen effect size. For example, option eform uses Odds ratio
when used with log odds-ratios declared with meta esize or Risk ratio when used with the
declared log risk-ratios. Option or is a synonym for eform when log odds-ratio is declared, and
option rr is a synonym for eform when log risk-ratio is declared. If option eslabel(eslab) is
specified during declaration, then eform will use the exp(eslab) label or, if eslab is too long, the
exp(ES) label.
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 305
metashow and nometashow display or suppress the meta setting information. By default, this informa-
tion is displayed at the top of the output. You can also specify nometashow with meta update to
suppress the meta setting output for the entire meta-analysis session.
display options: cformat(% fmt ); see [R] Estimation options.
Iteration
Options random(), common, and fixed, when specified with meta trimfill, temporarily override
the global model declared by meta set or meta esize during the computation. These options specify
that the same method be used during both iteration and pooling steps. To specify different methods,
use options itermethod() and poolmethod(). Options random(), common, and fixed may not be
combined. If these options are omitted, the declared meta-analysis model is assumed; see Declaring a
meta-analysis model in [META] meta data. Also see Meta-analysis models in [META] Intro.
random and random(remethod) specify that a random-effects model be assumed for meta-analysis dur-
ing iteration and pooling steps of the trim-and-fill algorithm; see Random-effects model in [META] In-
tro.
remethod specifies the type of estimator for the between-study variance 𝜏 2 . remethod is one of
reml, mle, ebayes, dlaird, sjonkman, hedges, or hschmidt. random is a synonym for
random(reml). See Options in [META] meta esize for more information.
common specifies that a common-effect model be assumed for meta-analysis during iteration and pooling
steps of the trim-and-fill algorithm; see Common-effect (“fixed-effect”) model in [META] Intro. It
uses the inverse-variance estimation method; see Meta-analysis estimation methods in [META] Intro.
Also see the discussion in [META] meta data about common-effect versus fixed-effects models.
fixed specifies that a fixed-effects model be assumed for meta-analysis during iteration and pooling
steps of the trim-and-fill algorithm; see Fixed-effects model in [META] Intro. It uses the inverse-
variance estimation method; see Meta-analysis estimation methods in [META] Intro. Also see the
discussion in [META] meta data about fixed-effects versus common-effect models.
itermethod(method) specifies the meta-analysis method to use during the iteration step of the trim-and-
fill algorithm. The default is the method declared for meta-analysis; see Declaring a meta-analysis
model in [META] meta data. Also see Trim-and-fill algorithm in Methods and formulas. This option
may not be combined with random(), common, or fixed.
method is one of the random-effects meta-analysis methods, remethod; or a common-effect inverse-
variance method, common; or a fixed-effects inverse-variance method, fixed; see Options in
[META] meta set for details.
poolmethod(method ) specifies the meta-analysis method to use during the pooling step of the trim-
and-fill algorithm. The default is to use the method declared for meta-analysis; see Declaring a meta-
analysis model in [META] meta data. Also see Trim-and-fill algorithm in Methods and formulas. This
option may not be combined with random(), common, or fixed.
method is one of the random-effects meta-analysis methods, remethod; or a common-effect inverse-
variance method, common; or a fixed-effects inverse-variance method, fixed; see Options in
[META] meta set for details.
iterate(#) specifies the maximum number of iterations for the trim-and-fill algorithm. The default is
iterate(100). When the number of iterations equals iterate(), the algorithm stops and presents
the current results. If convergence is not reached, a warning message is also displayed. If convergence
is declared before this threshold is reached, the algorithm will stop when convergence is declared.
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 306
nolog and log specify whether an iteration log showing the progress of the trim-and-fill algorithm is to
be displayed. By default, the log is suppressed but you can specify log to display it.
Introduction
Publication bias is a serious problem in meta-analysis. It arises when the decision whether to publish
a study depends on the statistical significance of the results of the study. Typically, more significant
findings are more likely to get published. See Publication bias of [META] Intro for details.
Publication bias can be assessed visually with a funnel plot ([META] meta funnelplot). More formal
tests for the presence of publication bias or, more generally, of small-study effects are also available
([META] meta bias). The focus of this entry is on assessing the impact of the publication bias on the
results. One of the methods popular in practice is the so-called trim-and-fill method, introduced by
Duval and Tweedie (2000a, 2000b).
The main goal of the trim-and-fill method is to evaluate the impact of publication bias on our final
inference. The idea of the method is to iteratively estimate the number of studies potentially missing
because of publication bias at the iteration stage. Then, at the final pooling stage, impute (fill in) the effect
sizes and effect-size standard errors for these studies and use the completed set of studies to compute the
overall effect-size estimate. For details, see Trim-and-fill algorithm.
Meta-analysis literature does not provide definitive recommendations for which model should be
used during the iteration stage of the method. Duval (2005) points out that a random-effects model was
recommended initially (National Research Council 1992; Sutton et al. 1998 ), but a common-effect model
was found later to provide a more conservative approach. What is meant by conservative? Random-
effects models tend to give more weight to less precise studies than common-effect models (Poole and
Greenland 1999). But less precise (smaller) studies are more likely to exhibit publication bias. In general,
neither model outperforms the other in all situations. Thus, meta-analysts are advised to try both in
practice and compare the results.
Just like other methods for detecting publication bias such as funnel plots and tests for the funnel-plot
asymmetry, the trim-and-fill method is sensitive to the presence of substantial between-study hetero-
geneity (for example, Peters et al. [2007]). The method is agnostic to the reasons for the funnel-plot
asymmetry, be it publication bias or between-study heterogeneity. It merely detects the asymmetry and
attempts to correct it. Unlike the tests for the funnel-plot asymmetry ([META] meta bias), the trim-and-
fill method does not allow accounting for the moderators that could potentially explain the heterogeneity.
For categorical moderators, however, you can perform the method separately for each category. In any
case, you should take potential heterogeneity into account when interpreting the final estimate of the
effect size from the trim-and-fill method. See the Trim and fill section in Deeks, Higgins, and Altman
(2017) for details.
Duval (2005) states that there are researchers who are not comfortable with using imputed (fictional)
studies to adjust the meta-analysis results for publication bias (Begg 1997). Indeed, one of the short-
comings of this method is that it treats “imputed” effect sizes as if they were observed in the final meta-
analysis and thus potentially underestimates their corresponding standard errors.
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 307
Note that the emphasis of the trim-and-fill method is on sensitivity analyses and not on trying to
recover the missing study values. The actual imputed values are not of interest. The primary goal of
the method is to explore the impact of missing studies on the overall effect-size estimate. This method
should be used purely as a guide to which meta-analysis appears to be more susceptible to publication
bias.
. use [Link]
(Subset of [Link])
. meta set stdmdiff se
Meta-analysis setting information
Study information
No. of studies: 16
Study label: Generic
Study size: N/A
Effect size
Type: <generic>
Label: Effect size
Variable: stdmdiff
Precision
Std. err.: se
CI: [_meta_cil, _meta_ciu]
CI level: 95%
Model and method
Model: Random effects
Method: REML
We perform a trim-and-fill analysis to see whether any studies are estimated to be missing:
. meta trimfill
Effect-size label: Effect size
Effect size: stdmdiff
Std. err.: se
Nonparametric trim-and-fill analysis of publication bias
Linear estimator, imputing on the left
Iteration Number of studies = 19
Model: Random-effects observed = 16
Method: REML imputed = 3
Pooling
Model: Random-effects
Method: REML
The model in the iteration and pooling steps is a random-effects model with the REML estimation as
declared by meta set. These models may be individually controlled by using options itermethod()
and poolmethod(). By default, estimation of the number of missing studies 𝐾0 was based on the
linear estimator. This can be changed using the estimator() option.
The mean effect size based on the 16 observed studies is 0.119 with a 95% CI of [−0.018, 0.256]. Three
̂0 = 19 − 16 = 3, are estimated to be missing and are imputed. If these three
hypothetical studies, 𝐾
studies were included in the meta-analysis, the funnel plot would be more symmetrical. After imputing
the studies, we obtain an updated estimate (based on the 19 studies, observed plus imputed) of the mean
effect size of 0.034 with a 95% CI [−0.150, 0.219].
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 309
Funnel plot
0
.1
Standard error
Pseudo 95% CI
Observed studies
.2
Estimated θREML
Imputed studies
.3
.4
-1 -.5 0 .5 1
Effect size
The imputed studies are shown in yellow in the above funnel plot. Only one of the three imputed studies
lies within the 95% pseudo CI; see [META] meta funnelplot for the interpretation of the funnel plot.
We may be interested in a contour-enhanced funnel plot of the completed set of studies (observed and
imputed) to visually assess whether the imputed studies fall in regions of statistical significance. This is
done by specifying the contour(1 5 10) suboption within funnel() in meta trimfill. We suppress
the output from the command with quietly.
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 310
.1
1% < p < 5%
Standard error
.4
-1 -.5 0 .5 1
Effect size
The plot reveals that two of the three imputed studies fall in the white region corresponding to a 𝑝-
value less than 1%; see example 5 of [META] meta funnelplot for more examples of contour-enhanced
funnel plots.
The estimates are only slightly smaller than what they were in example 1, where we used the random-
effects REML estimation method in both steps.
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 311
The mean effect size based on the 16 observed studies is still 0.119, as it was in example 1, but the
updated estimate that includes the imputed studies is large now, 0.059. Also, the estimated number of
missing studies is 2 in this example instead of 3.
Stored results
meta trimfill stores the following in r():
Scalars
r(K total) total number of studies (observed plus imputed)
r(K observed) number of observed studies
r(K imputed) number of imputed studies
r(converged) 1 if trim-and-fill algorithm converged, 0 otherwise
Macros
r(estimator) type of estimator for the number of missing studies
r(side) side of the funnel plot with missing studies; left or right
r(itermethod) meta-analysis estimation method used during iteration step
r(poolmethod) meta-analysis estimation method used during final pooling step
r(level) confidence level for CIs
Matrices
r(table) trim-and-fill table of results
r(imputed) matrix of effect sizes and their standard errors for imputed studies
The formulas and discussion below are based on Duval and Tweedie (2000b), Duval (2005), and
Steichen (2000).
Suppose that there are 𝐾 observed studies and 𝐾0 relevant studies that are potentially missing from
the meta-analysis because of publication bias. The goal is to estimate the value of 𝐾0 as well as the effect
size from the “completed” set of 𝐾 + 𝐾0 studies. The formulas below are based on the assumption that
the 𝐾0 effect-size values that are missing are the most extreme smallest values. That is, the studies
with “nonsignificant” results are the ones being suppressed. This is also equivalent to assuming that the
studies are missing from the left side of the funnel plot (option left). If missing studies are expected to
be missing on the right side of the funnel (option right), Duval (2005) indicates that the same formulas
below can be applied after multiplying the effect sizes by −1.
Note that the default behavior of meta trimfill is to assume the side where the missingness occurs
based on the traditional Egger test; see Egger’s linear regression test in [META] meta bias. Specifically,
if the slope from the Egger test is positive, then option left is assumed, and vice versa.
Methods and formulas are presented under the following headings:
Estimating the number of missing studies
Trim-and-fill algorithm
𝑇𝐾 = ∑ 𝑟𝑗∗
𝑋𝑗 >0
𝑅0 = 𝛾 ∗ − 1
4𝑇𝐾 − 𝐾(𝐾 + 1)
𝐿0 =
2𝐾 − 1
1 1
𝑄0 = 𝐾 − − √2𝐾 2 − 4𝑇𝐾 +
2 4
Because 𝐾0 must be an integer, the above estimators are rounded as follows,
Duval and Tweedie (2000a) compared the behavior of the MSEs of the estimators 𝑅0+ , 𝐿+ 0 , and 𝑄0
+
Trim-and-fill algorithm
Without loss of generality, we assume that the observations, 𝜃𝑗̂ ’s, are sorted in ascending order.
The steps of the trim-and-fill method below are based on Duval and Tweedie (2000b) and Steichen
(2016).
̂ using the meta-analysis model as declared with meta
Step 1. At the initial iteration 𝑙 = 1, compute 𝜃(1)
set or meta esize; the model may be changed using the itermethod() option.
Compute the centered values
(1)
𝜃𝑗̂ = 𝜃𝑗̂ − 𝜃(1)
̂ 𝑗 = 1, . . . , 𝐾
(1) (1)
̂ using the default 𝐿+ estimator applied to the set of centered values 𝜃 ̂ ; that
and estimate 𝐾 0 0 𝑗
(1) ̂(1) may be specified using the
is, set 𝑋𝑗 = 𝜃𝑗̂ in the previous section. Other estimators for 𝐾 0
estimator() option.
Step 2. At the iteration 𝑙 ≥ 2, remove 𝐾̂(𝑙−1) values from the right end of the set of values 𝜃𝑗̂ , and
0
estimate 𝜃(𝑙) ̂(𝑙−1) values: {𝜃 ̂ , . . . , 𝜃 ̂ ̂(𝑙−1) }.
̂ based on the trimmed “symmetric” set of 𝐾 − 𝐾
1
0 𝐾−𝐾0
Compute the next set of centered values
(𝑙)
𝜃𝑗̂ = 𝜃𝑗̂ − 𝜃(𝑙)
̂ 𝑗 = 1, . . . , 𝐾
̂(𝐿) = 𝐾
Step 3. Repeat step 2 until an iteration 𝑙 = 𝐿, at which 𝐾 ̂(𝐿−1) (and thus, 𝜃(𝐿)
̂ = 𝜃(𝐿−1)
̂ ). Set
0 0
̂0 = 𝐾 (𝐿)
̂ .
𝐾 0
̂0 imputed symmetric values
Step 4. Finally, compute the 𝐾
𝜃𝑗∗̂ = 2𝜃(𝐿)
̂ − 𝜃̂
𝐾−𝑗+1
̂0
𝑗 = 1, . . . , 𝐾
𝜎̂𝑗∗ = 𝜎̂𝐾−𝑗+1 ̂0
𝑗 = 1, . . . , 𝐾
Compute the final overall effect-size estimate using the default meta-analysis method or
poolmethod(), if specified, based on the “completed” dataset {𝜃1̂ , . . . , 𝜃𝐾
̂ , 𝜃∗̂ , . . . , 𝜃∗̂ }.
1 𝐾̂
0
meta trimfill — Nonparametric trim-and-fill analysis of publication bias 314
References
Begg, C. B. 1997. Publication bias in meta-analysis: A Bayesian data-augmentation approach to account for issues
exemplified in the passive smoking debate: Comment. Statistical Science 12: 241–244. [Link]
1030037958.
Deeks, J. J., J. P. T. Higgins, and D. G. Altman. 2017. “Addressing reporting biases”. In Cochrane Handbook for Systematic
Reviews of Interventions Version 5.2.0, edited by J. A. C. Sterne, M. Egger, and D. Moher. London: The Cochrane
Collaboration. [Link]
Duval, S. 2005. “The trim and fill method”. In Publication Bias in Meta-Analysis: Prevention, Assessment and Adjustments,
edited by H. R. Rothstein, A. J. Sutton, and M. Borenstein, 127–144. Chichester, UK: Wiley. [Link]
0470870168.ch8.
Duval, S., and R. L. Tweedie. 2000a. Trim and fill: A simple funnel-plot–based method of testing and adjusting for
publication bias in meta-analysis. Biometrics 56: 455–463. [Link]
———. 2000b. A nonparametric “trim and fill” method of accounting for publication bias in meta-analysis. Journal of
the American Statistical Association 95: 89–98. [Link]
National Research Council. 1992. Combining Information: Statistical Issues and Opportunities for Research. Washington,
DC: National Academies Press. [Link]
Peters, J. L., A. J. Sutton, D. R. Jones, K. R. Abrams, and L. Rushton. 2007. Performance of the trim and fill method
in the presence of publication bias and between-study heterogeneity. Statistics in Medicine 26: 4544–4562. https:
//[Link]/10.1002/sim.2889.
Poole, C., and S. Greenland. 1999. Random-effects meta-analyses are not always conservative. American Journal of
Epidemiology 150: 469–475. [Link]
Rothstein, H. R., A. J. Sutton, and M. Borenstein, eds. 2005. Publication Bias in Meta-Analysis: Prevention, Assessment
and Adjustments. Chichester, UK: Wiley. [Link]
Steichen, T. J. 2000. sbe39: Nonparametric trim and fill analysis of publication bias in meta-analysis. Stata Technical
Bulletin 57: 8–14. Reprinted in Stata Technical Bulletin Reprints, vol. 10, pp. 108–117. College Station, TX: Stata
Press.
———. 2016. “Nonparametric trim and fill analysis of publication bias in meta-analysis”. In Meta-Analysis in Stata: An
Updated Collection from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 180–192. 2nd ed. College Station,
TX: Stata Press.
Sutton, A. J., K. R. Abrams, D. R. Jones, T. A. Sheldon, and F. Song. 1998. Systematic reviews of trials and other studies.
Health Technology Assessment 2(19): 1–276.
Also see
[META] meta bias — Tests for small-study effects in meta-analysis
[META] meta data — Declare meta-analysis data
[META] meta funnelplot — Funnel plots
[META] meta summarize — Summarize meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
meta meregress — Multilevel mixed-effects meta-regression
Description
meta meregress performs multilevel meta-regression. You can think of multilevel meta-regression
as an extension of meta-regression, where effect sizes are nested within a higher grouping variable,
such as district or region, and thus may be correlated. These groups may themselves be nested within
another higher grouping variable, and so on. The dependencies among the observations within a group
are accounted for by the inclusion of random effects at different levels of hierarchy.
If you wish to fit multilevel meta-analysis models with random intercepts only, see [META] meta
multilevel for an alternative command with a simpler syntax.
meta meregress performs random-effects (RE) multilevel meta-regression with various covariance
structures and estimation methods for the random effects, which include random intercepts and random
coefficients. meta meregress is a standalone command in that it does not require you to declare your
data as meta data using meta set or meta esize.
Quick start
Perform standard RE meta-analysis by expressing it as a two-level meta-analysis model of the effect-size
y with random intercepts by trial and effect-size standard errors se
meta meregress y || trial:, essevariable(se)
Same as above, but perform an RE meta-regression on continuous moderator x
meta meregress y x || trial:, essevariable(se)
Same as above, but specify effect-size variances (var) instead of the effect-size standard errors
meta meregress y x || trial:, esvarvariable(var)
Perform a three-level meta-analysis of effect-size y with random intercepts by region and by trial
nested within region
meta meregress y || region: || trial:, essevariable(se)
Same as above, but perform a three-level meta-regression on moderator x, add a random slope on x at
the region level, and request the ML instead of the default REML estimation method
meta meregress y x || region: x || trial:, essevariable(se) mle
Same as above, but add a random slope on x at the trial-within-region level and specify an exchangeable
covariance structure between the random slopes and intercepts at the trial-within-region level and an
unstructured covariance structure between the random slopes and intercepts at the region level
meta meregress y x || region: x, covariance(unstructured) ///
|| trial: x, covariance(exchangeable) essevariable(se) mle
315
meta meregress — Multilevel mixed-effects meta-regression 316
Perform a three-level meta-regression of y on x1 and x2 with random slopes for x1 and x2 at the region
level, and specify a custom covariance structure for the random effects at the region level
matrix A = (.5,.,.a .,1,. .a,.,1)
meta meregress y x1 x2 || region: x1 x2, covariance(custom A) ///
|| trial:, essevariable(se)
Menu
Statistics > Meta-analysis
Syntax
meta meregress depvar fe equation || re equation [ || re equation [ . . . ] ],
{ essevariable(varname) | esvarvariable(varname) } [ options ]
fe options Description
Model
noconstant suppress constant term from the fixed-effects equation
constraints(constraints) apply specified linear constraints
re options Description
Model
covariance(vartype) variance–covariance structure of the random effects
noconstant suppress constant term from the random-effects equation
collinear keep collinear variables
meta meregress — Multilevel mixed-effects meta-regression 317
options Description
Model
∗
essevariable(varname) specify effect-size (sampling) standard errors
∗
esvarvariable(varname) specify effect-size (sampling) variances
reml fit model via restricted maximum likelihood; the default
mle fit model via maximum likelihood
Reporting
level(#) set confidence level; default is level(95)
stddeviations show random-effects parameter estimates as standard deviations
and correlations; the default
variance show random-effects parameter estimates as variances and
covariances
estmetric show parameter estimates as stored in e(b)
nohomtest suppress output for homogeneity test
noretable suppress random-effects table
nofetable suppress fixed-effects table
noheader suppress output header
nogroup suppress table summarizing groups
nocnsreport do not display constraints
display options control columns and column formats, row spacing, line width,
display of omitted variables and base and empty cells, and
factor-variable labeling
EM options
emiterate(#) number of EM iterations; default is emiterate(20)
emtolerance(#) EM convergence tolerance; default is emtolerance(1e-10)
emonly fit model exclusively using EM
emlog show EM iteration log
emdots show EM iterations as dots
Maximization
maximize options control the maximization process; seldom used
coeflegend display legend instead of statistics
∗ Either essevariable() or esvarvariable() is required.
indepvars and varlist may contain factor variables; see [U] 11.4.3 Factor variables.
collect is allowed; see [U] 11.1.10 Prefix commands.
coeflegend does not appear in the dialog box.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
meta meregress — Multilevel mixed-effects meta-regression 318
vartype Description
independent one unique standard-deviation parameter per random effect, all
correlations 0; the default
exchangeable equal standard deviations for random effects and one common
pairwise correlation
identity equal standard deviations for random effects; all correlations 0
unstructured all standard deviations and correlations to be distinctly estimated
custom matname custom matrix matname with fixed, free, and patterned
standard deviations and correlations
Options
Model
noconstant suppresses the constant (intercept) term and may be specified for the fixed-effects equation
and for any of or all the random-effects equations.
covariance(vartype) specifies the structure of the covariance matrix for the random effects and may
be specified for each random-effects equation. vartype is one of the following: independent,
exchangeable, identity, unstructured, or custom.
independent allows for a distinct standard deviation for each random effect within a random-effects
equation and assumes that all correlations are 0. This is the default covariance structure.
exchangeable specifies one common standard deviation for all random effects and one common
pairwise correlation.
identity is short for “multiple of the identity”; that is, all standard deviations are equal and all
correlations are 0.
unstructured allows for all standard deviations and correlations to be distinct. If there are 𝑞 random-
effects terms, the unstructured covariance matrix will have 𝑞(𝑞 + 1)/2 unique parameters.
custom matname specifies constraints for standard deviations (diagonal elements of matname) and
correlations (off-diagonal elements of matname) of the random effects. Three types of specifica-
tions are allowed within matname:
1. A nonmissing value # that fixes the corresponding element at # during estimation.
2. One of .a, .b, etc., assigned to at least two diagonal or two off-diagonal elements to restrict
the respective standard deviations or correlations to be the same during estimation.
3. A missing value . that allows the corresponding element to be freely estimated.
For example, assume that an re equation in the model is || levelvar : x1 x2 x3 and therefore
there are four random effects (one random intercept and three random slopes) at the levelvar
level. Below, we describe the effect of specifying covariance(custom matname) with
x1 x2 x3 cons
1.2
⎛
⎜ 0.5 .a ⎞
⎟
matname = ⎜
⎜ .b ⎟
⎟
. .a
⎝ .b .c .c . ⎠
meta meregress — Multilevel mixed-effects meta-regression 319
Let the 𝑢𝑗 ’s be the random slopes of xj, j ∈ {1, 2, 3} and 𝑢0 be the random intercept. The above
specification fixes the standard deviation of 𝑢1 at 1.2 and the correlation between 𝑢1 and 𝑢2 at
0.5 during estimation. It also restricts the standard deviations of 𝑢2 and 𝑢3 to be equal (set equal
to .a), the correlation between 𝑢1 and 𝑢3 to be the same as the correlation between 𝑢1 and 𝑢0
(both set equal to .b), and the correlation between 𝑢2 and 𝑢0 to be identical to the correlation
between 𝑢3 and 𝑢0 (both set equal to .c). Furthermore, it allows the standard deviation of 𝑢0 and
the correlation between 𝑢2 and 𝑢3 to be freely estimated.
essevariable(varname) specifies a variable that stores the standard errors of the effect sizes in variable
varname, also known as sampling standard errors. You must specify one of essevariable() or
esvarvariable().
esvarvariable(varname) specifies a variable that stores the variances of the effect sizes in vari-
able varname, also known as sampling variances. You must specify one of esvarvariable() or
essevariable().
reml and mle specify the statistical method for fitting the model.
reml, the default, specifies that the model be fit using restricted maximum likelihood (REML), also
known as residual maximum likelihood.
mle specifies that the model be fit using maximum likelihood (ML).
constraints(constraints); see [R] Estimation options.
Reporting
The following options are available with meta meregress but are not shown in the dialog box:
collinear specifies that meta meregress not omit collinear variables from the random-effects equa-
tion. Usually, there is no reason to leave collinear variables in place; in fact, doing so usually causes
the estimation to fail because of the matrix singularity caused by the collinearity. However, with cer-
tain models (for example, a random-effects model with a full set of contrasts), the variables may be
collinear, yet the model is fully identified because of restrictions on the random-effects covariance
structure. In such cases, using the collinear option allows the estimation to take place with the
random-effects equation intact.
coeflegend; see [R] Estimation options.
Introduction
Multilevel meta-regression is a statistical technique used to study the relationship between effect sizes
and covariates, where effect sizes may be correlated because of the clustered or multilevel (hierarchical)
structure of the data. The multilevel structure can arise, for example, when we consider a meta-analysis
that explores the impact of a new teaching technique on math testing scores. Studies may be conducted
in separate school districts with potentially multiple studies in each school district. Each study reports
an effect size that quantifies the difference between the two groups of students (those who received the
new teaching technique and those who did not), such as mean difference of testing scores between the
two groups. We are interested not only in synthesizing the overall effect of the new teaching technique
but also in assessing the variability (heterogeneity) among the effect sizes at the district level (level 3)
and among the studies within each district (level 2, also known as the studies-within-district level).
Results of studies conducted within the same school district are more likely to be similar and thus
dependent given that, for example, the students therein are exposed to the same socioeconomical factors.
This dependence is usually accounted for by including random effects at various levels of hierarchy in the
model. By properly accounting for the dependence among the effect sizes, we can produce more accurate
inference compared with performing a standard meta-analysis that ignores the hierarchical structure and
the dependence among the effect sizes.
The standard meta-analysis can be viewed as a two-level meta-analysis model where the subjects or
participants within studies are the level-1 observations and studies (or more precisely effect sizes reported
by the studies) are the level-2 observations. The within-study standard errors or variances are assumed
known; see Standard meta-analysis as a two-level model.
meta meregress — Multilevel mixed-effects meta-regression 321
In the school example above, studies are the level-2 observations. However, this is not always the
case in multilevel meta-analysis applications. For example, we may have a four-level meta-analysis with
runs (level 2) nested within experiments (level 3) nested within studies (level 4); see McCurdy et al.
(2020) for another example. Here studies actually define level 4 and runs define level 2. Thus, the terms
“within-study standard errors” and “within-study variances” may not always be appropriate to refer to the
variability at the lowest level of hierarchy, which is described by the standard errors or variances of the
effect sizes. In our four-level example, the terms “within-run standard errors” and “within-run variances”
would be more appropriate. To avoid any confusion, we will use the terms “sampling standard errors”
and “sampling variances” to refer, respectively, to the standard errors and the variances of the effect sizes.
Multilevel meta-regression differs from standard meta-regression in two major aspects. First, a hier-
archical (grouping) structure is assumed to be present in the data, and it is a main interest to decompose
the total heterogeneity among the effect sizes across the different levels of hierarchy. Second, random
slopes for moderators may be included in the model at different grouping levels. Recall that a standard
meta-regression model incorporates only random intercepts.
Multilevel meta-regression is analogous to a multilevel mixed-effects model (Raudenbush and Bryk
2002), which is used when individual data are available, but in multilevel meta-regression, the outcome of
interest is an effect size. And, because we do not have individual participant data, there are no covariates
that are recorded at the lowest observation level. Also, the sampling variances, the variability at the lowest
level, are assumed to be known. Having the known sampling variance allows us to include random
intercepts at level 2. However, to include random slopes at level 2, the data must include repeated
measures at this level; in the example of schools at level 2, we would need multiple effect sizes for each
school to include random slopes at the school level. At level 3 and higher, the data will naturally have
multiple lower-level groups nested within higher-level groups, so both random intercepts and random
slopes can be included.
The covariates in multilevel meta-regression are known as moderators. Examples of moderators in-
clude study publication year, study test environment, and drug administration method. For a compre-
hensive introduction to multilevel meta-regression, see Goldstein et al. (2000); Thompson, Turner, and
Warn (2001); Konstantopoulos (2011); Cheung (2014); and Sera et al. (2019).
The standard RE meta-analysis model (see [META] meta summarize) may be viewed as a special
two-level meta-analysis where the subjects or the within-study observations (level 1) are nested within
studies (level 2). These levels are
where 𝜖𝑗 ∼ 𝑁 (0, 𝜎̂𝑗2 ) and 𝑢𝑗 ∼ 𝑁 (0, 𝜏 2 ). Here 𝜎̂𝑗2 is the sampling variance (effect-size variance) for
the 𝑗th study, which is assumed known (it is assumed to be estimated with adequate accuracy within
each study, hence the hat notation). 𝜏 2 is the variance of the random effects (the 𝑢𝑗 ’s), also known as the
between-study variance. The sampling errors (the 𝜖𝑗 ’s) and the random effects (the 𝑢𝑗 ’s) are assumed to
be independent. Similarly, the classical RE meta-regression (see [META] meta regress) can be obtained
by incorporating moderators into (1) as follows:
meta meregress — Multilevel mixed-effects meta-regression 322
When we include a 1 × 𝑝 vector of moderators, x𝑗𝑘 = (1, 𝑥1,𝑗𝑘 , . . . , 𝑥𝑝−1,𝑗𝑘 ), the three-level meta-
analysis model described in (2) becomes a three-level meta-regression model
̂ =𝛽 +𝛽 𝑥 (3) (2)
𝜃𝑗𝑘 0 1 1,𝑗𝑘 + · · · + 𝛽𝑝−1 𝑥𝑝−1,𝑗𝑘 + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘
(3) (2)
(3)
= x𝑗𝑘 β + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘
Model (3) includes only random intercepts. It does not include any random slopes for moderators x𝑗𝑘 .
The above model can be extended to more than three levels of hierarchy; see Sera et al. (2019) for details.
If you would like to fit a model like (3) or its higher-level analogs, you can use the meta multilevel
command, which has a simpler syntax than meta meregress.
Below, we modify the notation used in (3) to introduce a third subscript, 𝑟, that accounts for the
repeated measures at level 2. Assume there are 𝑞𝑙 random effects (1 random intercept and 𝑞𝑙 − 1 random
slopes) at level 𝑙 = 2 and 𝑙 = 3; random slopes may then be introduced into (3) by writing
(3)
̂ =x β+z u +z u +𝜖 (3) (2) (2)
𝜃𝑗𝑘𝑟 𝑗𝑘𝑟 𝑗𝑘𝑟 𝑗 𝑗𝑘𝑟 𝑗𝑘 𝑗𝑘𝑟 (4)
where 𝑗 = 1, 2, . . . , 𝑀, 𝑘 = 1, 2, . . . , 𝑚𝑗 , and 𝑟 = 1, 2, . . . , 𝑚𝑗𝑘 . The subscript 𝑟 was not needed in
(3), because 𝑚𝑗𝑘 was assumed to equal 1. Here x𝑗𝑘𝑟 = (1, 𝑥1,𝑗𝑘𝑟 , . . . , 𝑥𝑝−1,𝑗𝑘𝑟 ) is a 1 × 𝑝 vector of
(3)
moderators associated with β, and z𝑗𝑘𝑟 is a 1 × 𝑞3 vector of moderators associated with the level-3 𝑞3 × 1
(3) (3) (2)
vector of random effects u𝑗 (1 intercept and 𝑞3 − 1 slopes), where u𝑗 ∼ 𝑁 (0, 𝚺(3) ). Similarly, z𝑗𝑘𝑟 is
a 1 × 𝑞2 vector of moderators associated with the level-2 (within-level-3) 𝑞2 × 1 vector of random effects
(2) (2)
u𝑗𝑘 , where u𝑗𝑘 ∼ 𝑁 (0, 𝚺(2) ). The 𝜖𝑗𝑘𝑟 ’s are the within-level-2 error terms following a 𝑁 (0, 𝜎̂𝑗𝑘𝑟2
)
distribution. 𝚺(3) and 𝚺(2) are the random-effects covariance matrices at levels 3 and 2, respectively.
The above model can be extended to more than three levels of hierarchy with the possibility to include
random slopes at any level 𝑙 > 1; see Sera et al. (2019) for details.
Recall that in meta-analysis, the sampling standard errors are treated as known. We specify them in the
essevariable() option. If you have variances instead, you can specify them in the esvarvariable()
option. The above specification should produce the same results as if we had typed meta set es se
followed by meta summarize, nostudies; see [META] meta summarize and example 1.
Two-level meta-regression. Suppose we have two moderators, x1 and x2. If we assume that the
effects of moderators are constant across studies, we can fit a standard RE meta-regression as a two-level
meta-regression without random coefficients (random slopes) for moderators:
. meta meregress es x1 x2 || study:, essevariable(se)
The above specification produces the same results as if we had typed meta set es se followed by meta
regress x1 x2; see [META] meta regress and example 1.
Alternatively, we can allow the effects of moderators to vary across studies by including random
slopes for the moderators:
. meta meregress es x1 x2 || study: x1, essevariable(se)
Recall that this is possible only if there are multiple observations (effect sizes) per study; otherwise, the
estimated standard deviations of the random slopes will be estimated as zeros. In other words, in the
context of standard meta-regression (where one effect size per study is reported), the above specification
will produce a zero estimate for the standard deviation of random slopes; see Three-level model with
random slopes for more details.
We can include random slopes for all or a subset of moderators by specifying the desired subset in the
random-effects equation (the || study: equation in our example).
meta meregress — Multilevel mixed-effects meta-regression 324
Three-level meta-analysis model. Suppose we have schools (level 2) and each school records re-
peated observations on effect sizes. Also, suppose that the schools are nested within districts (level 3).
We can incorporate potential dependence among the effect sizes within schools and within districts by
fitting a three-level meta-analysis model with district as the top (third) level:
. meta meregress es || district: || school:, essevariable(se)
Three-level meta-regression. Continuing with our three-level school data, if we also have modera-
tors, say, x1 and x2, we can incorporate them in our three-level meta-analysis model in various ways.
We can specify them only in the fixed-effects equation, assuming their effects do not vary across
districts or schools within districts:
. meta meregress es x1 x2 || district: || school:, essevariable(se)
We can specify them in all equations to allow them to vary within all levels:
. meta meregress es x1 x2 || district: x1 x2 || school: x1 x2, essevariable(se)
Or, if there is only one effect size reported per school, then we can eliminate the random slopes from the
school level:
. meta meregress es x1 x2 || district: x1 || school:, essevariable(se)
For illustration, in the above we included random slopes only for x1.
Three-level meta-regression with various covariance structures. In the presence of random slopes,
we can specify various covariance structures to model the dependencies between random effects at a spe-
cific level. By default, the random effects are assumed to be independent. This default is chosen out of
computational feasibility, in case the model includes many random slopes. In practice, you will often
want to verify that this assumption is reasonable for your data. You can do this by specifying other co-
variance structures such as exchangeable, unstructured, or custom matname in the covariance()
option. For instance, we now assume an unstructured (completely unrestricted) covariance for the ran-
dom effects at the district level:
. meta meregress es x1 x2 || district: x1, covariance(unstructured)
|| school:, essevariable(se)
In some applications, you may need to fix or constrain some elements of the random-effects vari-
ance–covariance matrix. This is also useful to perform sensitivity analysis; see example 7. You can do
this by using the custom matname covariance structure.
Covariance structure custom matname provides a flexible way to restrict specific random-effects
standard deviations and correlations during estimation while allowing the remaining parameters to be
freely estimated. This option can be seen as a generalization of option tau2() in [META] meta regress
and thus can be used to perform sensitivity analysis; see covariance(custom matname).
Similarly, we can build other models. With more levels, we can specify different covariance structures
at different levels of hierarchy:
. meta meregress es x1 x2 || state: x1 x2, covariance(unstructured)
|| district: x2 , covariance(exchangeable) || school: , essevariable(se)
By default, meta meregress uses the REML method to estimate model parameters. This method
produces unbiased estimates of the random-effects covariance parameters by accounting for the loss of
degrees of freedom from estimating the fixed-effects vector β. You can specify the mle option to instead
estimate parameters using ML.
meta meregress — Multilevel mixed-effects meta-regression 325
In these data, the effect sizes are standardized mean differences stored in variable stdmdiff, with
their respective standard errors stored in variable se. To perform standard meta-analysis, we type the
following, suppressing the individual study results for brevity:
. meta summarize, nostudies
Effect-size label: Std. mean diff.
Effect size: stdmdiff
Std. err.: se
Study label: studylbl
Meta-analysis summary Number of studies = 19
Random-effects model Heterogeneity:
Method: REML tau2 = 0.0188
I2 (%) = 41.84
H2 = 1.72
theta: Overall Std. mean diff.
The overall effect-size estimate is 0.0837 with the standard error of 0.052, and the estimated between-
study variance tau2 is 0.0188.
The standard meta-analysis model for this dataset can be expressed as
stdmdiff𝑗 = 𝜃 + 𝑢𝑗 + 𝜖𝑗 (5)
with 𝑢𝑗 ∼ 𝑁 (0, 𝜏 2 ) and 𝜖𝑗 ∼ 𝑁 (0, se2𝑗 ). This model can be fit using meta meregress as follows.
meta meregress — Multilevel mixed-effects meta-regression 326
We specify the response variable and the fixed-effects portion of the model by typing the outcome
variable (stdmdiff) and some independent variables (moderators) of interest (in this example, there are
no moderators) after the command meta meregress. We then type || study: to specify random effects
at the study level. We did not specify any variables after the colon (:), because we wanted to incorporate
only random intercepts; see example 5 for random slopes. We also specify the variable containing the
sampling standard errors using option essevariable().
. meta meregress stdmdiff || study:, essevariable(se)
Performing EM optimization ...
Performing gradient-based optimization:
Iteration 0: Log restricted-likelihood = -33.419194 (not concave)
Iteration 1: Log restricted-likelihood = -10.213945 (not concave)
Iteration 2: Log restricted-likelihood = -3.8361073
Iteration 3: Log restricted-likelihood = -3.7393756
Iteration 4: Log restricted-likelihood = -3.7365412
Iteration 5: Log restricted-likelihood = -3.7365412
Computing standard errors ...
Multilevel REML meta-analysis Number of obs = 19
Group variable: study Number of groups = 19
Obs per group:
min = 1
avg = 1.0
max = 1
Wald chi2(0) = .
Log restricted-likelihood = -3.7365412 Prob > chi2 = .
study: Identity
sd(_cons) .1372184
The output shows information about the optimization algorithm, the iteration log, and the method (REML)
used for estimating 𝜏 2 . There are 19 observations (effect sizes) and 19 groups (studies) with one obser-
vation per group, which is the case for standard meta-analysis. The reported model Wald test is missing
because we do not have moderators in our model.
The first table displays the fixed-effect parameter estimate from the two-level meta-analysis. Here the
fixed-effect parameter is a constant term denoted by cons, which represents 𝜃 in (5) and theta in the
output from meta summarize. The estimate of 𝜃 is 0.0837 with a standard error of 0.052 and the 95% CI
of [−0.0175, 0.1849]. The test of homogeneity, which tests that all effect sizes are equal, reports the 𝑄M
statistic of 35.83 with a 𝑝-value of 0.0074. The second table shows the estimated value of 𝜏 (standard
deviation of the random effects 𝑢𝑗 ’s) labeled as sd( cons) in the output.
meta meregress — Multilevel mixed-effects meta-regression 327
The results for the fixed-effect parameter are virtually identical. meta summarize reported an esti-
mate of the variance of the random intercepts 𝜏 ̂2 = 0.0188, whereas meta meregress reports the stan-
dard deviation (𝜏 ̂ = 0.1372) by default. We can display the variance by specifying the option variance
on replay. We also use options noheader and nofetable to suppress the header and the fixed-effects
table.
. meta meregress, variance noheader nofetable
Test of homogeneity: Q_M = chi2(18) = 35.83 Prob > Q_M = 0.0074
study: Identity
var(_cons) .0188289
Alternatively, we could have used estat sd, variance to obtain the same output; see [META] estat sd
and example 6.
Similarly, we can fit a standard meta-regression model as a two-level random-intercepts regression
model. First, we use meta regress ([META] meta regress) to fit a standard meta-regression model:
. meta regress weeks
Effect-size label: Std. mean diff.
Effect size: stdmdiff
Std. err.: se
Random-effects meta-regression Number of obs = 19
Method: REML Residual heterogeneity:
tau2 = .01117
I2 (%) = 29.36
H2 = 1.42
R-squared (%) = 40.70
Wald chi2(1) = 7.51
Prob > chi2 = 0.0061
Test of residual homogeneity: Q_res = chi2(17) = 27.66 Prob > Q_res = 0.0490
meta meregress — Multilevel mixed-effects meta-regression 328
Next we fit this same model using meta meregress. We simply list the moderator (weeks) in the
fixed-effects portion of the model after the outcome variable stdmdiff.
. meta meregress stdmdiff weeks || study:, essevariable(se) variance
Performing EM optimization ...
Performing gradient-based optimization:
Iteration 0: Log restricted-likelihood = -31.596287 (not concave)
Iteration 1: Log restricted-likelihood = -8.6658459 (not concave)
Iteration 2: Log restricted-likelihood = -1.1427859 (not concave)
Iteration 3: Log restricted-likelihood = -.71416907
Iteration 4: Log restricted-likelihood = -.71388211
Iteration 5: Log restricted-likelihood = -.71388211
Computing standard errors ...
Multilevel REML meta-regression Number of obs = 19
Group variable: study Number of groups = 19
Obs per group:
min = 1
avg = 1.0
max = 1
Wald chi2(1) = 7.51
Log restricted-likelihood = -.71388211 Prob > chi2 = 0.0061
study: Identity
var(_cons) .011166
The estimates for the fixed-effects coefficients (reported in the first table) and 𝜏 2 (labeled var( cons)
in the second table above) are almost the same as from meta regress.
Because the schools are nested within districts, we fit a three-level random-intercepts model. This
model can also be fit using command meta multilevel; see example 1 of [META] meta multilevel.
The model can be expressed as
(3) (2)
stdmdiff𝑗𝑘 = 𝜃 + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘 (6)
(3) (2)
with 𝑢𝑗 ∼ 𝑁 (0, 𝜏32 ), 𝑢𝑗𝑘 ∼ 𝑁 (0, 𝜏22 ), and 𝜖𝑗𝑘 ∼ 𝑁 (0, se2𝑗𝑘 ). Here there is one observation (effect size)
reported per school (level-2 group). Fitting a three-level model requires that you specify two random-
effects equations: one for level 3 (identified by variable district) and one for level 2 (identified by
variable school). This model can be fit using meta meregress as follows:
meta meregress — Multilevel mixed-effects meta-regression 330
district 11 3 5.1 11
school 56 1 1.0 1
Wald chi2(0) = .
Log restricted-likelihood = -7.9587239 Prob > chi2 = .
district: Identity
sd(_cons) .2550724
school: Identity
sd(_cons) .1809324
We first store the results of the model so we can use them later in example 4 to perform likelihood-ratio
tests.
. estimates store main_model
As in example 1, our fixed-effects equation contains only the dependent variable (effect sizes stdmdiff).
(3)
But we have two random-effects equations. The first represents random intercepts [the 𝑢𝑗 ’s in (6)] at the
(2)
district level (level 3), and the second represents random intercepts [the 𝑢𝑗𝑘 ’s in (6)] at the school
level (level 2). The order in which these are specified (from left to right) is important— meta meregress
assumes that school is nested within district. Below, we describe each portion of the output in detail.
The output first displays information about the optimization, including an iteration log. The top of the
header shows the method (REML) used for estimation and also displays the total number of observations,
which is 56 in our example.
meta meregress — Multilevel mixed-effects meta-regression 331
The information on groups at different levels of hierarchy is displayed as a table with one row for
each grouping (level of hierarchy). For example, there are 11 groups (districts) at the district level.
Each group contains somewhere between 3 to 11 level-2 groups (schools). You can suppress this table
with the nogroup or the noheader option, which will also suppress the rest of the header.
The second table displays the fixed-effects coefficients. In our example, there is only an intercept
corresponding to the term 𝜃 in (6). The value of 𝜃 ̂ is 0.185 with a 95% CI of [0.019, 0.35]. This means
that, on average, students following the modified school calendar achieved higher scores than those who
did not.
The third table displays the random-effects parameters, traditionally known as variance components in
the context of multilevel or mixed-effects models. The variance-component estimates are now organized
and labeled according to each level. By default, meta meregress reports standard deviations of the
random intercepts (and correlations if they existed in the model) at each level. But you can instead
specify the variance option to report variances (and covariances if they existed in the model). We have
𝜏̂3 = 0.255 and 𝜏̂2 = 0.181. These values are the building blocks for assessing heterogeneity across
different hierarchical levels and are typically interpreted in that context; see example 3 and Higgins–
Thompson heterogeneity statistics in Methods and formulas in [META] estat heterogeneity (me) for
details. In general, the higher the value of 𝜏𝑙 , the more heterogeneity is expected among the groups
within level 𝑙.
Cochran’s 𝐼Q2 quantifies the amount of heterogeneity jointly for all levels of hierarchy. It is a direct ex-
tension to the multilevel setting of the classical 𝐼 2 statistic based on the DerSimonian–Laird method and
thus has the same interpretation. For instance, 𝐼Q2 = 90.50% means that 90.50% of the variability among
the effect sizes is due to true heterogeneity in our data as opposed to the sampling variability. See Het-
erogeneity measures in Methods and formulas in [META] meta summarize and Residual heterogeneity
measures in Methods and formulas in [META] meta regress for details.
The value of the Cochran statistic is the same for all multilevel models with the same fixed-effects
structure. This is because its computation is based on the Cochran multivariate 𝑄 statistic, which is
calculated based only on the fixed-effects model; see Cochran heterogeneity statistic in Methods and
formulas in [META] estat heterogeneity (me) for details.
Unlike the Cochran 𝐼Q2 statistic, the multilevel Higgins–Thompson 𝐼 2 statistics (Nakagawa and Santos
2012) provide ways to assess the contribution of each level of hierarchy to the total heterogeneity, in
addition to their joint contribution. For example, between-schools heterogeneity or heterogeneity within
meta meregress — Multilevel mixed-effects meta-regression 332
districts (level-2 heterogeneity) is the lowest, accounting for about 32% of the total variation in our
data, whereas between-districts heterogeneity (level-3 heterogeneity) accounts for about 63% of the total
variation. This is a direct consequence of the estimate of 𝜏32 being greater than that of 𝜏22 in example 2.
See Higgins–Thompson heterogeneity statistics in Methods and formulas in [META] estat heterogeneity
(me) for details.
Because the null hypothesis value of 𝜏22 is at the boundary of the parameter space, the asymptotic
distribution of the test statistic is a mixture of the 𝜒20 (a point mass at zero) and 𝜒21 distributions (Verbeke
and Molenberghs 2000; Self and Liang 1987; and Gutierrez, Carter, and Drukker 2001), with each having
an equal weight of 0.5. To elaborate on the first note reported by lrtest, the exact 𝑝-value can therefore
be computed as
𝑝 = 0.5 × 𝑃 (𝜒20 > 48.52) + 0.5 × 𝑃 (𝜒21 > 48.52) = 0.5 × 𝑃 (𝜒21 > 48.52)
which is half of what is reported above. The second equality holds because the 𝜒2 distribution with zero
degrees of freedom, 𝜒20 , places all probability mass at zero, and therefore 0.5 × 𝑃 (𝜒20 > 48.52) = 0.
This updated 𝑝-value computation does not affect our conclusion regarding the test result, which is that
we reject the hypothesis that schools are homogeneous within districts.
Similarly, we may also wish to test whether there is a nonnegligible amount of heterogeneity between
districts, which amounts to testing 𝐻0∶ 𝜏32 = 0. This is equivalent to fitting a standard RE meta-analysis
where all 56 effect sizes are assumed independent. Hence, we use variable study as the grouping level
in our model specification. Had we used school, the model would have clustered our 56 effect sizes
into 11 groups, which would violate the independence assumption.
meta meregress — Multilevel mixed-effects meta-regression 333
The results of the test provide strong evidence that there is significant between-districts heterogeneity.
Similar discussion applies to the computation of the exact 𝑝-value as above.
We can compare our models using information criteria by using the estimates stats command.
We use option all to request AICc and CAIC in addition to the default AIC and BIC. We also use option
n() to use 𝑛 − 𝑝 = 55 instead of 𝑛 = 56 as the number of observations in the computation of BIC, AICc,
and CAIC because our models used REML estimation.
. estimates stats main_model dist_effect school_effect, all n(55)
Information criteria
main_model 55 . -7.958724 3
dist_effect 55 . -16.8455 2
school_eff~t 55 . -32.21648 2
All measures of information criteria favor the three-level model main model.
district 11 3 5.1 11
school 56 1 1.0 1
district: Independent
sd(year_c) .0335302
sd(_cons) .06437
school: Identity
sd(_cons) .1808125
The estimate of the regression coefficient of variable year c is 0.010 with a 95% CI of
[−0.016, 0.035]. We do not see any evidence for the association between stdmdiff and year c
(3) (3)
(𝑝 = 0.458). The estimates of the standard deviations of 𝑢1𝑗 and 𝑢0𝑗 (at the district level) are
labeled in the output as sd(year c) and sd( cons) and are estimated to be 0.034 and 0.064, respec-
tively. These values are the estimates of the square root of the diagonal elements of 𝚺(3) . The covariance
meta meregress — Multilevel mixed-effects meta-regression 335
structure at the district level is labeled as Independent, which is the default assumption. You may
display the 2 × 2 matrix 𝚺(3) using the estat recovariance command; see example 6. The estimate
of 𝜏2 is 0.181.
Although year c did not explain the heterogeneity, we continue to include it as a moderator in our
subsequent examples (example 6 and example 7) for illustration purposes.
district: Unstructured
sd(year_c) 0.028
sd(_cons) 0.082
corr(year_c,_cons) 1.000
school: Identity
sd(_cons) 0.180
The random-effects covariance structure at the district level is now labeled Unstructured:. The
correlation between the random slope and the random intercept is labeled as corr(year c, cons).
The estimated correlation value is 1 because, as we mentioned in example 5, variable year c did not
explain any heterogeneity and was included here for illustration purposes only.
Instead of specifying one of the standard covariance structures (independent, identity,
exchangeable, or unstructured), you may request a custom covariance structure where you can fix
specific standard deviations or correlations while allowing others to be estimated. For example, the fol-
(3) (3)
lowing matrix A fixes the correlation between 𝑢0𝑗 and 𝑢1𝑗 at 0.5 and allows for their standard deviations
to be estimated from the data. See covariance(custom matname) for details.
meta meregress — Multilevel mixed-effects meta-regression 336
district: Custom
sd(year_c) 0.026
sd(_cons) 0.116
corr(year_c,_cons) 0.500*
school: Identity
sd(_cons) 0.180
Note the asterisk that is appended next to the corr(year c, cons) value to emphasize that it was
fixed during estimation.
You may additionally wish to constrain the two standard deviations of the random intercept and ran-
dom slope to be the same (both specified equal to .a):
. matrix B = (.a ,.5 \ .5 ,.a)
. meta meregress stdmdiff year_c || district: year_c, covariance(custom B)
> || school:, esvarvariable(var) ‘options’
district: Custom
sd(year_c _cons) 0.033
corr(year_c,_cons) 0.500*
school: Identity
sd(_cons) 0.181
We can display the random-effects covariance matrices 𝚺(3) (at the district level) and 𝚺(2) (at the
school level), which is a scalar in our example, using the estat recovariance command ([META] estat
recovariance). This is particularly useful if we specify a complicated custom covariance structure in our
model using the covariance(custom matname) option (think 3 × 3 or larger covariance matrices).
meta meregress — Multilevel mixed-effects meta-regression 337
. estat recovariance
Random-effects covariance matrix for level district
year_c _cons
year_c .0010852
_cons .0005426 .0010852
Fixed parameter: corr(year_c,_cons)=.5.
Random-effects covariance matrix for level school
_cons
_cons .0326401
district: Custom
var(year_c _cons) .0010852
cov(year_c,_cons) .0005426
school: Identity
var(_cons) .0326401
We fit the first model using the correlations of 0 and store the estimation results as corr0.
. quietly meta meregress stdmdiff year_c
> || district: year_c, covariance(custom Sigma1)
> || school:, esvarvariable(var)
. estimates store corr0
meta meregress — Multilevel mixed-effects meta-regression 338
Next we fit the model with correlations of 0.4 and store results as corr4 and the model with corre-
lations of 0.8 and store results as corr8. For brevity, we suppressed the output from all commands by
running them quietly.
. quietly meta meregress stdmdiff year_c
> || district: year_c, covariance(custom Sigma2)
> || school:, esvarvariable(var)
. estimates store corr4
. quietly meta meregress stdmdiff year_c
> || district: year_c, covariance(custom Sigma3)
> || school:, esvarvariable(var)
. estimates store corr8
Legend: b/se
As the correlation between the random intercepts and the random slopes at the district level increases,
the coefficient estimate for cons decreases. Also, the estimate becomes more precise (has a smaller
standard error) as the correlation increases. Note also how the various magnitudes of correlations had
little to no impact on the estimation of year c (all values are near 0) because, as we saw in example 5,
variable year c did not explain any heterogeneity and should have been excluded from the model.
Stored results
meta meregress stores the following in e():
Scalars
e(N) total number of observations
e(k) number of parameters
e(k f) number of fixed-effects parameters
e(k r) number of random-effects parameters
e(k rs) number of variances
e(k rc) number of covariances
e(ll) log (restricted) likelihood
e(rank) rank of e(V)
e(ic) number of iterations
e(df m) model degrees of freedom
e(chi2) model 𝜒2 Wald test statistic
e(p) 𝑝-value for model test
e(Q M) multilevel Cochran 𝑄𝑀 residual homogeneity test statistic
e(df Q M) degrees of freedom for residual homogeneity test
e(p Q M) 𝑝-value for residual homogeneity test
e(converged) 1 if converged, 0 otherwise
meta meregress — Multilevel mixed-effects meta-regression 339
Macros
e(cmd) meta meregress
e(cmdline) command as typed
e(method) REML or ML
e(title) title in estimation output
e(chi2type) Wald; type of model 𝜒2 test
e(depvar) name of dependent variable
e(ivars) grouping variables
e(indepvars) names of independent variables (moderators)
e(esvarvariable) variable containing sampling variances (when esvarvariable() is specified)
e(essevariable) variable containing sampling standard errors (when essevariable() is specified)
e(redim) random-effects dimensions
e(vartypes) variance-structure types
e(revars) random-effects covariates
e(technique) maximization technique
e(datasignature) the checksum
e(datasignaturevars) variables used in calculation of checksum
e(emonly) emonly, if specified
e(ml method) type of ml method
e(opt) type of optimization
e(optmetric) matsqrt or matlog; random-effects matrix parameterization
e(properties) b V
e(predict) program used to implement predict
e(estat cmd) program used to implement estat
e(asbalanced) factor variables fvset as asbalanced
e(asobserved) factor variables fvset as asobserved
Matrices
e(b) coefficient vector
e(V) variance–covariance matrix of the estimators
e(cov cust #) custom random-effects covariance matrix (when covariance(custom matname) is
specified)
e(Cns) constraints matrix
e(N g) group counts
e(g min) group-size minimums
e(g avg) group-size averages
e(g max) group-size maximums
Functions
e(sample) marks estimation sample
Note that results stored in r() are updated when the command is replayed and will be replaced when any
r-class command is run after the estimation command.
When the esvarvariable() option is specified, meta meregress creates a system variable,
meta mereg se, that contains the sampling standard errors.
meta meregress — Multilevel mixed-effects meta-regression 340
Three-level meta-regression
The model for the three-level meta-regression can be expressed as
We may eliminate the explicit reference to specific levels of hierarchy and express the previous model
more compactly as
θ̂𝑗 = X𝑗 β + Z𝑗 u𝑗 + 𝑗
(3) (2) (3)′ (2)′
where 𝑚𝑗. × (𝑞3 + 𝑚𝑗 𝑞2 ) matrix Z𝑗 = (Z𝑗 , Z𝑗 ) and (𝑞3 + 𝑚𝑗 𝑞2 ) × 1 vector u𝑗 = (u𝑗 , u𝑗 )′ , with
a (𝑞3 + 𝑚𝑗 𝑞2 ) × (𝑞3 + 𝑚𝑗 𝑞2 ) covariance matrix 𝚺𝑗 ,
𝚺(3) 0
𝚺𝑗 = Var (u𝑗 ) = [ ]
0 I 𝑚𝑗 ⊗ 𝚺(2)
Note that 𝚺𝑗 depends on 𝑗 only through its dimension. In other words, if estimates for 𝚺(2) and 𝚺(3) are
available, then estimates for 𝚺𝑗 , 𝑗 = 1, 2, . . . , 𝑀 are also available.
̂ 𝑗 be an estimate of the random-effects covariance matrix 𝚺𝑗 (to be discussed later), and let
Let 𝚺
̂ 𝑗 Z′𝑗 + 𝚲𝑗 )−1 . The vector of fixed-effects regression coefficients β can be estimated as
W𝑗 = (Z𝑗 𝚺
𝑀 −1 𝑀
̂ = (∑ X′ W𝑗 X𝑗 ) ∑ X′ W𝑗 θ̂𝑗
β 𝑗 𝑗
𝑗=1 𝑗=1
𝑀 −1
̂ = (∑ X′ W𝑗 X𝑗 )
Var(β) 𝑗
𝑗=1
In the following section, we outline the estimation of the random-effects covariance matrices 𝚺(2)
and 𝚺(3) (and thus of 𝚺𝑗 ) for the ML and REML methods.
The two estimators described below do not have a closed-form solution, and an iterative algorithm is
needed to estimate 𝚺(2) and 𝚺(3) .
The joint log-likelihood function of β, 𝚺(2) , and 𝚺(3) for a random-effects multivariate meta-
regression can be expressed as
𝑀 𝑀
1 ′
ln 𝐿ML (β, 𝚺(2) , 𝚺(3) ) = − {𝑛 ln(2𝜋) + ∑ ln ∣V𝑗 ∣ + ∑ (θ̂𝑗 − X𝑗 β) V−1 ̂
𝑗 (θ𝑗 − X𝑗 β)}
2 𝑗=1 𝑗=1
The random-effects covariance matrices 𝚺(2) and 𝚺(3) are estimated by maximizing the profile log-
̂ into ln 𝐿ML (β, 𝚺) in place of β
likelihood function obtained by treating β as known and plugging β
(Pinheiro and Bates [2000, chap. 2]):
𝑀 𝑀
1 ̂ ′ V−1 (θ̂𝑗 − X𝑗 β)}
ln 𝐿ML (𝚺(2) , 𝚺(3) ) = − {𝑛 ln(2𝜋) + ∑ ln ∣V𝑗 ∣ + ∑ (θ̂𝑗 − X𝑗 β) 𝑗
̂
2 𝑗=1 𝑗=1
meta meregress — Multilevel mixed-effects meta-regression 342
The MLE of 𝚺(2) and 𝚺(3) does not incorporate the uncertainty about the unknown regression coeffi-
cients β and thus can be negatively biased.
The REML estimator of 𝚺(2) and 𝚺(3) maximizes the restricted log-likelihood function
𝑀
1 𝑝
ln 𝐿REML (𝚺(2) , 𝚺(3) ) = ln 𝐿ML (𝚺(2) , 𝚺(3) ) − ln ∣∑ X′𝑗 V−1
𝑗 X𝑗 ∣ + ln(2𝜋)
2 𝑗=1
2
The REML method estimates 𝚺(2) and 𝚺(3) by accounting for the uncertainty in the estimation of β,
which leads to a nearly unbiased estimate of 𝚺(2) and 𝚺(3) . The optimization of the above log-likelihood
functions can be done using the machinery of the mixed-effects models to obtain the estimates β, ̂ 𝚺(2) ,
(3)
and 𝚺 . For details, see Pinheiro and Bates (2000) and Methods and formulas of [ME] mixed. When
there are only two levels of hierarchy in the model and no random slopes, that is, in the context of
standard meta-analysis, the above ML and REML estimators reduce to their counterparts as reported by
meta regress.
Several covariance structures may be assumed for the 𝑞𝑙 ×𝑞𝑙 random-effects covariance matrix 𝚺(𝑙) at
a specific level of hierarchy 𝑙. The default covariance structure is independent, which assumes there are
𝑞𝑙 standard deviations to be estimated corresponding to the 𝑞𝑙 random effects at level 𝑙. Other covariance
structures are exchangeable, identity, unstructured, and custom matname. Structures that allow
the random effects to be correlated (unstructured, exchangeable, and potentially custom matname)
should be used only when adequate observations are available in order to produce stable estimates of the
correlations.
For example, when there are 3 random effects at level 𝑙 (𝑞𝑙 = 3), the covariance structures are
𝜎11
independent 𝚺(𝑙) = ⎡
⎢ 0 𝜎22 ⎤
⎥
⎣ 0 0 𝜎33 ⎦
𝜎11
exchangeable 𝚺(𝑙) = ⎡
⎢𝜎21 𝜎11 ⎤
⎥
⎣𝜎21 𝜎21 𝜎11 ⎦
𝜎11
identity 𝚺(𝑙) = ⎡
⎢ 0 𝜎11 ⎤
⎥
⎣ 0 0 𝜎11 ⎦
𝜎11
unstructured 𝚺(𝑙) = ⎡
⎢𝜎21 𝜎22 ⎤
⎥
⎣𝜎31 𝜎32 𝜎33 ⎦
Multilevel meta-analysis
The formulas presented so far are derived for the general case of multilevel meta-regression. Methods
and formulas for the special case of multilevel meta-analysis (when no moderators are included) can be
(3) (2)
obtained by taking x𝑗𝑘𝑟 = 1, z𝑗𝑘𝑟 = 1, z𝑗𝑘𝑟 = 1, and 𝑝 = 1. This model can be expressed as
̂ =𝛽 +𝑢 +𝑢 +𝜖 (3) (2)
𝜃𝑗𝑘𝑟 0 𝑗 𝑗𝑘 𝑗𝑘𝑟
Under the null hypothesis of residual homogeneity, 𝑄M follows a 𝜒2 distribution with 𝑛 − 𝑝 degrees
of freedom (Seber and Lee 2003, sec. 2.4). The 𝑄M statistic reduces to the classical residual homogene-
ity test statistic, 𝑄res , when there are two levels of hierarchy and no random slopes in the model (see
Residual homogeneity test in Methods and formulas in [META] meta regress). It also reduces to the
classical homogeneity statistic 𝑄 when no moderators are included (see Homogeneity test in Methods
and formulas in [META] meta summarize).
References
Cheung, M. W.-L. 2014. Modeling dependent effect sizes with three-level meta-analyses: A structural equation modeling
approach. Psychological Methods 19: 211–229. [Link]
Cooper, H., J. C. Valentine, and A. Melson. 2003. The effects of modified school calendars on student achieve-
ment and on school and community attitudes. Review of Educational Research 73: 1–52. [Link]
00346543073001001.
Goldstein, H., M. Yang, R. Z. Omar, R. M. Turner, and S. G. Thompson. 2000. Meta-analysis using multilevel models
with an application to the study of class size effects. Journal of the Royal Statistical Society, C ser., 49: 399–412.
[Link]
Gutierrez, R. G., S. L. Carter, and D. M. Drukker. 2001. sg160: On boundary-value likelihood-ratio tests. Stata Technical
Bulletin 60: 15–18. Reprinted in Stata Technical Bulletin Reprints, vol. 10, pp. 269–273. College Station, TX: Stata
Press.
Konstantopoulos, S. 2011. Fixed effects and variance components estimation in three-level meta-analysis. Research Syn-
thesis Methods 2: 61–76. [Link]
McCurdy, M. P., W. Viechtbauer, A. M. Sklenar, A. N. Frankenstein, and E. D. Leshikar. 2020. Theories of the gener-
ation effect and the impact of generation constraint: A meta-analytic review. Psychonomic Bulletin and Review 27:
1139–1165. [Link]
Nakagawa, S., and E. S. A. Santos. 2012. Methodological issues and advances in biological meta-analysis. Evolutionary
Ecology 26: 1253–1274. [Link]
meta meregress — Multilevel mixed-effects meta-regression 344
Orsini, N. 2021. Weighted mixed-effects dose–response models for tables of correlated contrasts. Stata Journal 21:
320–347.
Pinheiro, J. C., and D. M. Bates. 2000. Mixed-Effects Models in S and S-PLUS. New York: Springer. [Link]
1007/b98882.
Raudenbush, S. W. 1984. Magnitude of teacher expectancy effects on pupil IQ as a function of the credibility of ex-
pectancy induction: A synthesis of findings from 18 experiments. Journal of Educational Psychology 76: 85–97.
[Link]
Raudenbush, S. W., and A. S. Bryk. 1985. Empirical Bayes meta-analysis. Journal of Educational Statistics 10: 75–98.
[Link]
———. 2002. Hierarchical Linear Models: Applications and Data Analysis Methods. 2nd ed. Thousand Oaks, CA: Sage.
Rose, C. J. 2024. Multivariate random-effects meta-analysis for sparse data using smvmeta. Stata Journal 24: 301–328.
Seber, G. A. F., and A. J. Lee. 2003. Linear Regression Analysis. 2nd ed. Hoboken, NJ: Wiley. [Link]
9780471722199.
Self, S. G., and K.-Y. Liang. 1987. Asymptotic properties of maximum likelihood estimators and likelihood ratio tests
under nonstandard conditions. Journal of the American Statistical Association 82: 605–610. [Link]
2289471.
Sera, F., B. Armstrong, M. Blangiardo, and A. Gasparrini. 2019. An extended mixed-effects framework for meta-analysis.
Statistics in Medicine 38: 5429–5444. [Link]
Thompson, S. G., R. M. Turner, and D. E. Warn. 2001. Multilevel models for meta-analysis, and their applica-
tion to absolute risk differences. Statistical Methods in Medical Research 10: 375–392. [Link]
096228020101000602.
Verbeke, G., and G. Molenberghs. 2000. Linear Mixed Models for Longitudinal Data. New York: Springer. [Link]
org/10.1007/978-1-4419-0300-6.
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta regress — Meta-analysis regression
[META] meta summarize — Summarize meta-analysis data
[META] meta multilevel — Multilevel random-intercepts meta-regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
meta multilevel — Multilevel random-intercepts meta-regression
Description
meta multilevel fits random-intercepts meta-analysis models, which are commonly used in prac-
tice. For fitting more complicated multilevel meta-analysis models, including random slopes, see
[META] meta meregress. meta multilevel is a convenience wrapper for meta meregress.
meta multilevel is a standalone command in that it does not require you to declare your data as
meta data using meta set or meta esize.
Quick start
Perform standard RE meta-analysis by expressing it as a two-level meta-analysis model of the effect size
y with random intercepts by trial and effect-size standard errors (se)
meta multilevel y, relevels(trial) essevariable(se)
Same as above, but perform a RE meta-regression on continuous moderator x
meta multilevel y x, relevels(trial) essevariable(se)
Same as above, but specify effect-size variances (var) instead of the effect-size standard errors
meta multilevel y x, relevels(trial) esvarvariable(var)
Perform a three-level meta-analysis of y with random intercepts by region and by trial nested within
region, and request the ML instead of the default REML estimation method
meta multilevel y, relevels(region trial) essevariable(se) mle
Perform a three-level meta-regression of y on x1 and x2 and specify a fixed standard deviation for the
trial-within-region random intercepts
meta multilevel y x1 x2, relevels(region trial, sd(. .2)) ///
essevariable(se)
Menu
Statistics > Meta-analysis
345
meta multilevel — Multilevel random-intercepts meta-regression 346
Syntax
meta multilevel depvar [ indepvars ] [ if ] [ in ], relevels(relevspec)
{ essevariable(varname) | esvarvariable(varname) } [ options ]
options Description
Model
noconstant suppress constant term from the fixed-effects equation
∗
relevels(relevspec) specify the grouping structure of the model
†
essevariable(varname) specify effect-size (sampling) standard errors
†
esvarvariable(varname) specify effect-size (sampling) variances
reml fit model via restricted maximum likelihood; the default
mle fit model via maximum likelihood
constraints(constraints) apply specified linear constraints
Reporting
level(#) set confidence level; default is level(95)
stddeviations show random-effects parameter estimates as standard deviations
and correlations; the default
variance show random-effects parameter estimates as variances and
covariances
estmetric show parameter estimates as stored in e(b)
nohomtest suppress output for homogeneity test
noretable suppress random-effects table
nofetable suppress fixed-effects table
noheader suppress output header
nogroup suppress table summarizing groups
nocnsreport do not display constraints
display options control columns and column formats, row spacing, line width,
display of omitted variables and base and empty cells, and
factor-variable labeling
EM options
emiterate(#) number of EM iterations; default is emiterate(20)
emtolerance(#) EM convergence tolerance; default is emtolerance(1e-10)
emonly fit model exclusively using EM
emlog show EM iteration log
emdots show EM iterations as dots
Maximization
maximize options control the maximization process; seldom used
collinear keep collinear variables
coeflegend display legend instead of statistics
meta multilevel — Multilevel random-intercepts meta-regression 347
indepvars may contain factor variables; see [U] 11.4.3 Factor variables.
collect is allowed; see [U] 11.1.10 Prefix commands.
collinear and coeflegend do not appear in the dialog box.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Options
Model
noconstant suppresses the constant (intercept) term from the fixed-effects model.
relevels(varlist[ , sd(# [ # [ . . . ] ]) ]) specifies the grouping structure of the multilevel model. A
random intercept corresponding to each level variable in varlist is included in the model. The order of
varlist is important. The first variable is assumed to be the highest grouping level, and each subsequent
variable is assumed to be nested within the previous one. For example, relevels(region study)
assumes that variable region is the highest grouping level and that study is nested within region.
relevels() is required.
sd(# [ # [ . . . ] ]) specifies fixed values for the standard deviations of the random intercepts during
estimation. The order of the values # [ # [ . . . ] ] should correspond to the order of variables in
relevels(). A missing value (.) means that the standard deviation of the corresponding random
intercept is to be estimated. This suboption is useful for exploring the sensitivity of the results to
different magnitudes of random-intercepts standard deviations.
essevariable(varname) specifies a variable that stores the standard errors of the effect sizes in variable
varname, also known as sampling standard errors. You must specify one of essevariable() or
esvarvariable().
esvarvariable(varname) specifies a variable that stores the variances of the effect sizes in vari-
able varname, also known as sampling variances. You must specify one of esvarvariable() or
essevariable().
reml and mle specify the statistical method for fitting the model.
reml, the default, specifies that the model be fit using restricted maximum likelihood (REML), also
known as residual maximum likelihood.
mle specifies that the model be fit using maximum likelihood (ML).
constraints(constraints); see [R] Estimation options.
Reporting
The following options are available with meta multilevel but are not shown in the dialog box:
collinear, coeflegend; see [R] Estimation options.
Introduction
For an introduction to the general multilevel meta-regression model, see Introduction in [META] meta
meregress.
Let x𝑗𝑘𝑟 = (1, 𝑥1,𝑗𝑘𝑟 , . . . , 𝑥𝑝−1,𝑗𝑘𝑟 ) be a 1 × 𝑝 vector of moderators and β = (𝛽0 , 𝛽1 , . . . , 𝛽𝑝−1 )′
be the corresponding 𝑝 × 1 vector of unknown fixed-effects regression coefficients. The three-level
random-intercepts meta-regression model (Goldstein et al. [2000]; Thompson, Turner, and Warn [2001];
and Konstantopoulos [2011]) can be expressed as
̂ =𝛽 +𝛽 𝑥 (3) (2)
𝜃𝑗𝑘𝑟 0 1 1,𝑗𝑘𝑟 + · · · + 𝛽𝑝−1 𝑥𝑝−1,𝑗𝑘𝑟 + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘
(3) (2)
(1)
= x𝑗𝑘𝑟 β + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘𝑟
(3) (2)
where 𝑗 = 1, 2, . . . , 𝑀, 𝑘 = 1, 2, . . . , 𝑚𝑗 , and 𝑟 = 1, 2, . . . , 𝑚𝑗𝑘 . 𝑢𝑗 ∼ 𝑁 (0, 𝜏32 ), 𝑢𝑗𝑘 ∼ 𝑁 (0, 𝜏22 ),
2 2
and 𝜖𝑗𝑘𝑟 ∼ 𝑁 (0, 𝜎̂𝑗𝑘𝑟 ), with the 𝜎̂𝑗𝑘𝑟 ’s being the known sampling variances (variances of the effect
(3) (2)
sizes). The random intercepts (the 𝑢𝑗 ’s, 𝑢𝑗𝑘 ’s) and the sampling errors (the 𝜖𝑗𝑘 ’s) are independent. 𝜏32
and 𝜏22 are the random-intercepts variances at the third and second levels, respectively. Model (1) and its
higher-level extensions are precisely the models that meta multilevel was designed to fit. If you wish
to fit models that incorporate random slopes, see the more general command [META] meta meregress.
meta multilevel — Multilevel random-intercepts meta-regression 349
meta multilevel fits multilevel random-intercepts meta-regression. By default, the REML method
is used to estimate the random-intercepts variances 𝜏32 and 𝜏22 . Use the mle option to request ML estima-
tion. REML is typically preferred over ML because it produces unbiased estimates of the random-effects
variance parameters by accounting for the loss of degrees of freedom from estimating the fixed-effects
vector β.
The relevels() option specifies the variables that identify the different levels of hierarchy that are
present in the model. For each level of hierarchy, a random intercept is added to the model. The order of
the specified variables is important. The first variable is assumed to be the highest grouping level, and
each subsequent variable is assumed to be nested within the previous one.
The sd() suboption within relevels() provides a flexible way to restrict specific random-intercepts
standard deviations during estimation while allowing the remaining parameters to be freely estimated.
This option can be seen as a generalization of option tau2() in [META] meta regress and thus can be
used to perform sensitivity analysis; see suboption sd() in Options.
2
The sampling variances (the 𝜎̂𝑗𝑘𝑟 ’s) are treated as known and do not require estimation. The variable
that stores these values is specified in the esvarvariable() option. Alternatively, if the sampling
standard errors (the 𝜎̂𝑗𝑘𝑟 ’s) are available, then option essevariable() can be used instead.
For example, suppose we specify the following in Stata:
. meta multilevel y x1 x2, relevels(lev3var lev2var) esvarvariable(var)
Consider how the above specification relates to the components of (1). Variable y stores the values of
̂ ’s, and the variables x1 and x2 represent the fixed-effects component of the model, x β. Three
the 𝜃𝑗𝑘𝑟 𝑗𝑘𝑟
fixed-effects parameters will need to be estimated: an intercept and two coefficients corresponding to
variables x1 and x2, respectively. The relevels(lev3var lev2var) option specifies that two random
intercepts are to be included in the model: one at level 3 (identified by variable lev3var) and another one
(3) (2)
at level 2 (identified by variable lev2var). These are the 𝑢𝑗 and 𝑢𝑗𝑘 terms in (1). Level 1 corresponds
to the participant or subject-level data, which are not available in meta-analysis. In general, if you specify
𝐿 variables within relevels(), then 𝐿 + 1 levels of hierarchy will be present in the model, with the
leftmost variable corresponding to the highest level. The esvarvariable(var) option specifies the
variable name (var in our example) that stores the sampling variances (the 𝜎̂𝑗𝑘𝑟 2
’s) of the 𝜖𝑗𝑘𝑟 ’s.
You may also use suboption sd() within relevels() to fix certain random-intercepts standard de-
viations at specified values during estimation, while allowing the remaining standard deviations to be
freely estimated as follows:
. meta multilevel y x1 x2, relevels(lev3var lev2var, sd(.4 .)) esvarvariable(var)
(3)
Option sd(.4 .) specifies that the standard deviation of 𝑢𝑗 is to be fixed at .4 during estimation and
(2)
that the standard deviation of 𝑢𝑗𝑘 is to be estimated.
(3) (2)
stdmdiff𝑗𝑘 = 𝜃 + 𝑢𝑗 + 𝑢𝑗𝑘 + 𝜖𝑗𝑘 (2)
(3) (2)
with 𝑢𝑗 ∼ 𝑁 (0, 𝜏32 ), 𝑢𝑗𝑘 ∼ 𝑁 (0, 𝜏22 ), and 𝜖𝑗𝑘 ∼ 𝑁 (0, se2𝑗𝑘 ). Here there is one observation (effect
size) reported per school (level-2 group); therefore, 𝑚𝑗𝑘 = 1 in formula (1) in Introduction. This model
can be fit using meta multilevel as follows:
. use [Link]
(Effect of modified school calendar on student achievement)
. meta multilevel stdmdiff, relevels(district school) essevariable(se)
Performing EM optimization ...
Performing gradient-based optimization:
Iteration 0: Log restricted-likelihood = -104.8525 (not concave)
Iteration 1: Log restricted-likelihood = -49.423286 (not concave)
Iteration 2: Log restricted-likelihood = -25.793723 (not concave)
Iteration 3: Log restricted-likelihood = -21.309955
Iteration 4: Log restricted-likelihood = -9.1248907
Iteration 5: Log restricted-likelihood = -8.2630422
Iteration 6: Log restricted-likelihood = -7.9588574
Iteration 7: Log restricted-likelihood = -7.9587239
Iteration 8: Log restricted-likelihood = -7.9587239
Computing standard errors ...
Multilevel REML meta-analysis Number of obs = 56
Grouping information
district 11 3 5.1 11
school 56 1 1.0 1
Wald chi2(0) = .
Log restricted-likelihood = -7.9587239 Prob > chi2 = .
district: Identity
sd(_cons) .2550724
school: Identity
sd(_cons) .1809324
meta multilevel — Multilevel random-intercepts meta-regression 351
By typing stdmdiff after meta multilevel, we specified the response variable (stdmdiff) and
the fixed-effects portion of our model, which consists of a constant term (fixed-effect intercept), denoted
by 𝜃 in (2). We could have specified stdmdiff indepvars to include additional moderators (indepen-
dent variables) in the same way that we would if we were using any other estimation command. The
relevels(district school) option defines two levels of hierarchy (the model will then have three
levels, given that level 1 always corresponds to effect sizes) and includes random intercepts at both levels
(3) (2)
[the 𝑢𝑗 and 𝑢𝑗𝑘 terms in (2)]. The order in which the variables are specified within relevels() (from
left to right) is important— meta multilevel assumes that school is nested within district. This
model was specified as follows in example 2 of [META] meta meregress (see that example for output
interpretation):
. meta meregress stdmdiff || district: || school:, essevariable(se)
district: Custom
sd(_cons) .2550724*
school: Identity
sd(_cons) .1809324
The order in which you specify values in sd() corresponds to the order in which the variables were
specified within relevels(). In other words, the first value corresponds to the standard deviation of
the random effects at the district level and the second value to that at the school level. The second
. in sd(.2550724 .) means that the standard deviation of the random intercepts at the school level,
𝜏2 , is free and needs to be estimated. The two outputs are essentially identical, as expected. Notice the
starred note to indicate which parameter was fixed during estimation.
meta multilevel — Multilevel random-intercepts meta-regression 352
Next we will assess the impact of five different magnitudes in increasing order of the value of the
random-effects standard deviations at the school level on the estimation of the other model parameters
(𝜃 and 𝜏3 ). We fit five models corresponding to fixing 𝜏2 at each element of matrix val in a loop and
store their results under the names fixsd1, fixsd2, and so on.
. matrix val = (.01, .08, .18, .3, .6)
. forvalues i=1/5 {
2. quietly meta multilevel stdmdiff,
> relevels(district school, sd(. ‘=val[1,‘i’]’)) essevariable(se)
3. estimates store fixsd‘i’
4. }
We then use estimates table to report 𝜃 ̂ (option keep(stdmdiff: cons)) and its standard error
from the five models for ease of comparison.
. estimates table _all, stats(sd2) keep(stdmdiff:_cons) b(%8.3f) se(%8.3f)
Legend: b/se
As 𝜏2 (sd2 in the output) increases from 0.01 to 0.6, 𝜃 ̂ ( cons in the output) decreases from 0.196 to
0.123 and seems to be estimated with more precision (its standard error decreases). This suggests that
increased variability among schools leads to a smaller overall standardized mean difference, resulting in
less benefit from the modified-calendar program. Recall that a positive mean difference corresponds to
higher student achievement in the group on the modified calendar.
(3)
The next table shows the estimates of 𝜏3 = √Var(𝑢𝑗 ) for the different fixed values of 𝜏2 . The term
lns1 1 1: cons (used within option keep()) stores the value of log(𝜏3 ), so we use the eform option
to report the exponentiated value.
. estimates table _all, stats(sd2) keep(lns1_1_1:_cons) b(%8.3f) eform
As 𝜏2 (sd2) increases from 0.01 to 0.6, 𝜏̂3 ( cons) decreases from 0.288 to nearly 0, indicating that as 𝜏2
increases, it will eventually capture all the variability (excluding sampling error) among the effect sizes.
In this case, the district level (level 3) may be dropped from the model.
meta multilevel — Multilevel random-intercepts meta-regression 353
Stored results
meta multilevel stores the following in e():
Scalars
e(N) total number of observations
e(k) number of parameters
e(k f) number of fixed-effects parameters
e(k r) number of random-effects parameters
e(k rs) number of variances
e(ll) log (restricted) likelihood
e(rank) rank of e(V)
e(ic) number of iterations
e(sd#) user-specified random-intercepts standard deviation (when suboption sd() of
relevels() is specified)
e(df m) model degrees of freedom
e(chi2) model 𝜒2 Wald test statistic
e(p) 𝑝-value for model test
e(Q M) multilevel Cochran 𝑄𝑀 residual homogeneity test statistic
e(df Q M) degrees of freedom for residual homogeneity test
e(p Q M) 𝑝-value for residual homogeneity test
e(converged) 1 if converged, 0 otherwise
Macros
e(cmd) meta multilevel
e(cmdline) command as typed
e(method) REML or ML
e(title) title in estimation output
e(chi2type) Wald; type of model 𝜒2 test
e(depvar) name of dependent variable
e(ivars) grouping variables
e(indepvars) names of independent variables (moderators)
e(esvarvariable) variable containing sampling variances (when esvarvariable() is specified)
e(essevariable) variable containing sampling standard errors (when essevariable() is specified)
e(technique) maximization technique
e(datasignature) the checksum
e(datasignaturevars) variables used in calculation of checksum
e(emonly) emonly, if specified
e(ml method) type of ml method
e(opt) type of optimization
e(optmetric) matsqrt or matlog; random-effects matrix parameterization
e(properties) b V
e(predict) program used to implement predict
e(estat cmd) program used to implement estat
e(asbalanced) factor variables fvset as asbalanced
e(asobserved) factor variables fvset as asobserved
Matrices
e(b) coefficient vector
e(V) variance–covariance matrix of the estimators
e(Cns) constraints matrix
e(N g) group counts
e(g min) group-size minimums
e(g avg) group-size averages
e(g max) group-size maximums
Functions
e(sample) marks estimation sample
meta multilevel — Multilevel random-intercepts meta-regression 354
Note that results stored in r() are updated when the command is replayed and will be replaced when any
r-class command is run after the estimation command.
When the esvarvariable() option is specified, meta multilevel creates a system variable,
meta mereg se, that contains the sampling standard errors.
2
𝜏 0
𝚺̇ 𝑗 = Var (u̇𝑗 ) = [ 3 ]
0 𝜏22 I𝑚𝑗
The formulas used by meta multilevel to estimate β, 𝜏32 , and 𝜏22 are described in Methods and formulas
of [META] meta meregress with 𝚺𝑗 = 𝚺̇ 𝑗 , Z𝑗 = Ż𝑗 , and u𝑗 = u̇𝑗 .
References
Cooper, H., J. C. Valentine, and A. Melson. 2003. The effects of modified school calendars on student achieve-
ment and on school and community attitudes. Review of Educational Research 73: 1–52. [Link]
00346543073001001.
Goldstein, H., M. Yang, R. Z. Omar, R. M. Turner, and S. G. Thompson. 2000. Meta-analysis using multilevel models
with an application to the study of class size effects. Journal of the Royal Statistical Society, C ser., 49: 399–412.
[Link]
Konstantopoulos, S. 2011. Fixed effects and variance components estimation in three-level meta-analysis. Research Syn-
thesis Methods 2: 61–76. [Link]
Thompson, S. G., R. M. Turner, and D. E. Warn. 2001. Multilevel models for meta-analysis, and their applica-
tion to absolute risk differences. Statistical Methods in Medical Research 10: 375–392. [Link]
096228020101000602.
meta multilevel — Multilevel random-intercepts meta-regression 355
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta regress — Meta-analysis regression
[META] meta summarize — Summarize meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
Postestimation commands
meta meregress and meta multilevel allow the same postestimation commands. The following
postestimation commands are of special interest after meta meregress and meta multilevel:
Command Description
estat group summarize the composition of the nested groups
estat heterogeneity compute multilevel heterogeneity statistics
estat recovariance display the estimated random-effects covariance matrices
estat sd display variance components as standard deviations and correlations
Command Description
contrast contrasts and ANOVA-style joint tests of parameters
estat ic Akaike’s, consistent Akaike’s, corrected Akaike’s, and Schwarz’s Bayesian
information criteria (AIC, CAIC, AICc, and BIC, respectively)
estat summarize summary statistics for the estimation sample
estat vce variance–covariance matrix of the estimators (VCE)
estimates cataloging estimation results
etable table of estimation results
lincom point estimates, standard errors, testing, and inference for linear combinations
of parameters
lrtest likelihood-ratio test
margins marginal means, predictive margins, marginal effects, and average marginal
effects
marginsplot graph the results from margins (profile plots, interaction plots, etc.)
nlcom point estimates, standard errors, testing, and inference for nonlinear combi-
nations of parameters
predict predictions and their SEs, leverage statistics, etc.
predictnl point estimates, standard errors, testing, and inference for generalized predic-
tions
pwcompare pairwise comparisons of parameters
test Wald tests of simple and composite linear hypotheses
testnl Wald tests of nonlinear hypotheses
356
meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis 357
predict
Syntax for obtaining BLUPs of random effects and the BLUPs’ standard errors
predict [ type ] { stub* | newvarlist } [ if ] [ in ], reffects [ relevel(levelvar)
reses(resesspec) ]
statistic Description
Main
xb linear prediction for the fixed portion of the model only; the default
stdp standard error of the fixed-portion linear prediction
fitted fitted values, fixed-portion linear prediction plus contributions based on
predicted random effects
residuals residuals, response minus fitted values
∗
rstandard standardized residuals
Unstarred statistics are available both in and out of sample; type predict ... if e(sample) ... if wanted
only for the estimation sample. Starred statistics are calculated only for the estimation sample, even when
if e(sample) is not specified.
margins
statistic Description
xb linear predictor for the fixed portion of the model only; the default
stdp not allowed with margins
fitted not allowed with margins
residuals not allowed with margins
rstandard not allowed with margins
reffects not allowed with margins
Statistics not allowed with margins are functions of stochastic quantities other than e(b).
For the full syntax, see [R] margins.
The above model can also be fit by using the meta multilevel command as follows:
. meta multilevel stdmdiff, relevels(district school) essevariable(se)
We can use estat group to see how the data are broken down by district and school:
. estat group
district 11 3 5.1 11
school 56 1 1.0 1
We are reminded that each district had somewhere between 3 to 11 schools and that each school reported
one effect size in our dataset.
Below, we predict the random effects using predict, reffects and obtain their diagnostic standard
errors by specifying the reses(, diagnostic) option. Because we have two random effects in our
model (at levels 2 and 3), we need to specify two new variable names with predict and two new variable
names within reses(). Although it is typically much easier to specify a stubname, say, u*, where
predict constructs variables u1 and u2 for you, here we will explicitly specify the names u3 and u2
for the variables corresponding to the random intercepts at level 3 and level 2, respectively. We will
also specify se u3 and se u2 within the reses() option instead of a stubname u se*. And we will
use suboption diagnostic of the reses() option to request the diagnostic standard errors instead of
the default comparative standard errors. The diagnostic standard errors are used for model diagnostics
(Goldstein 2011; Skrondal and Rabe-Hesketh 2009).
. predict double u3 u2, reffects reses(se_u3 se_u2, diagnostic)
. by district, sort: generate tolist = (_n==1)
. list district u3 se_u3 if tolist
district u3 se_u3
1. 11 -.18998595 .07071818
5. 12 -.08467077 .13168501
9. 18 .1407273 .11790486
12. 27 .24064814 .13641505
16. 56 -.1072942 .13633364
As an example, we listed the random-intercepts variable u3 with the corresponding standard error variable
se u3 for the 𝑀 = 11 school districts. The purpose of variable tolist is to list only the unique values of
u3 and se u3 for each district. Had we not added the if tolist qualifier, row 𝑗 (𝑗 = 1, . . . , 𝑀) would
have been repeated 𝑚𝑗 times, where 𝑚𝑗 is the number of schools within the 𝑗th district. The random
intercepts are district-specific deviations from the overall mean effect size. For example, for district
meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis 361
18, the predicted standardized mean difference is 0.1407 higher than the overall effect size 𝑏̂0 = 0.1847,
estimated in example 2 of [META] meta meregress, conditional on zero contribution from level-2 random
intercepts.
Let’s use the predicted random effects and their standard errors to compute a standardized random-
effects variable, ustan3, to check for outliers. This new variable corresponds to the standardized random
effects at the district level (level 3). We will use the qnorm command (see [R] Diagnostic plots) to
obtain the normal quantile plot.
. generate double ustan3 = u3/se_u3
. label variable ustan3 ”Std. predicted random effects u3”
. qnorm ustan3 if tolist, mlabel(district) xtitle(”Inverse normal”)
71
4
Std. predicted random effects u3
2
27
18
91
0 644
12
56
108
86
58
-2
11
-4 -2 0 2 4
Inverse normal
From the plot, district 71 appears to be an outlier. Let’s list the values for districts 71 and, for comparison,
27.
. list district school stdmdiff if inlist(district, 71, 27), separator(4)
12. 27 1 .16
13. 27 2 .65
14. 27 3 .36
15. 27 4 .6
31. 71 1 .3
32. 71 2 .98
33. 71 3 1.19
District 71 has 3 schools with students following the modified calendar scoring substantially higher
̂
(𝜃71,1 ̂
= 0.3, 𝜃71,2 ̂
= 0.98, and 𝜃71,3 = 1.19) compared with students from schools with modified
calendars in other districts such as district 27.
meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis 362
1.5
1
Fitted values
.5
-.5
-.5 0 .5 1 1.5
Observed values
In the above code, we computed the fitted values using predict, fitted. We then produced a scat-
terplot of the fitted values versus the observed values of stdmdiff. We added a reference line 𝑦 = 𝑥
to assess goodness of fit. Studies that are close to the reference line have their fitted values close to the
observed values. Overall, it seems that goodness of fit is satisfactory.
You could also use the rstandard option with predict to compute standardized residuals. In theory,
the standardized residuals are useful for checking the normality assumption of the level-1 error terms.
θ̂𝑗 = X𝑗 β + Z𝑗 u𝑗 + 𝑗 , 𝑗 = 1, . . . , 𝑀
𝚺(3) 0
𝚺𝑗 = Var (u𝑗 ) = [ ]
0 I𝑚𝑗 ⊗ 𝚺(2)
meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis 363
The comparative standard errors of the random effects can be obtained by taking the square root of the
̂ û𝑗 − u𝑗 ).
diagonal elements of Var(
If the diagnostic suboption is specified within reses(), then the estimated covariance matrix of
û𝑗 is computed:
̂ ′𝑗 W𝑗 {(W𝑗 )−1 − X𝑗 Var(β)X
̂ (û𝑗 ) = 𝚺Z
Var ̂ ′ } W𝑗 Z𝑗 𝚺
𝑗
̂
The diagnostic standard errors of the random effects can be obtained by taking the square root of the
̂ û𝑗 ).
diagonal elements of Var(
See Goldstein (2011), Skrondal and Rabe-Hesketh (2009), and Rabe-Hesketh and Skrondal (2022)
for more details.
References
Goldstein, H. 2011. Multilevel Statistical Models. 4th ed. Chichester, UK: Wiley. [Link]
Rabe-Hesketh, S., and A. Skrondal. 2022. Multilevel and Longitudinal Modeling Using Stata. 4th ed. College Station, TX:
Stata Press.
Skrondal, A., and S. Rabe-Hesketh. 2009. Prediction in multilevel generalized linear models. Journal of the Royal Statis-
tical Society, A ser., 172: 659–687. [Link]
Also see
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta multilevel — Multilevel random-intercepts meta-regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
meta mvregress — Multivariate meta-regression
Description
meta mvregress performs multivariate meta-regression. You can think of multivariate meta-
regression as an extension of meta-regression, where multiple potentially dependent effect sizes are
available for each study. meta mvregress performs both random-effects and fixed-effects multivari-
ate meta-regression with various covariance structures and estimation methods for the random effects.
meta mvregress is a standalone command in the sense that it does not require you to declare your data
as meta data using meta set or meta esize.
Quick start
Perform random-effects multivariate meta-analysis of the effect-size variables y1 and y2 with within-
study covariance structure defined by variables v11, v12, and v22
meta mvregress y1 y2, wcovvariables(v11 v12 v22)
Same as above, but perform random-effects multivariate meta-regression on continuous variable x1 and
factor variable x2
meta mvregress y1 y2 = x1 i.x2, wcovvariables(v11 v12 v22)
Same as above, but estimate random-effects using ML instead of the default REML
meta mvregress y1 y2 = x1 i.x2, wcovvariables(v11 v12 v22) random(mle)
Same as above, but specify an independent random-effects covariance structure instead of the default
unstructured covariance matrix
meta mvregress y1 y2 = x1 i.x2, wcovvariables(v11 v12 v22) ///
random(mle, covariance(independent))
Same as above, but use a truncated Jackson–Riley adjustment to the standard errors of coefficients
meta mvregress y1 y2 = x1 i.x2, wcovvariables(v11 v12 v22) ///
random(mle, covariance(independent) se(truncjriley))
Perform a fixed-effects multivariate meta-analysis of variables y1 and y2 with standard error variables
s1 and s2, and assume a within-study correlation value of 0
meta mvregress y1 y2, fixed wsevariables(s1 s2) wcorrelations(0)
Perform multivariate meta-analysis of three effect-size variables y1, y2, and y3 with six within-study
variance–covariance variables v11, v12, v13, v22, v23, and v33
meta mvregress y1 y2 y3, wcovvariables(v11 v12 v13 v22 v23 v33)
Same as above, but using varlist shortcut notations and assuming the variables appear in the dataset in
the order shown above
meta mvregress y1-y3, wcovvariables(v11-v33)
meta mvregress y*, wcovvariables(v*)
364
meta mvregress — Multivariate meta-regression 365
Menu
Statistics > Meta-analysis
Syntax
Random-effects multivariate meta-regression
meta mvregress depvars = moderators [ if ] [ in ], wcovspec [ random(randomspec)
options ]
wcovspec Description
Model
∗
wcovvariables(varlist ) specify within-study variance and covariance variables
∗
wsevariables(varlist ) specify within-study standard-error variables
∗
wcorrelations(# | numlist ) specify within-study correlation values
Either wcovvariables() or both wsevariables() and wcorrelations() are required.
remethod Description
reml restricted maximum likelihood; the default
mle maximum likelihood
jwriley Jackson–White–Riley
recov Description
unstructured all variances and covariances to be distinctly estimated; the default
independent one unique variance parameter per random effect; all covariances 0
exchangeable equal variances for random effects and one common pairwise
covariance
identity equal variances for random effects; all covariances 0
fixed(matname) fixed random-effects covariance matrix matname
seadj Description
jriley Jackson–Riley standard-error adjustment
truncjriley truncated Jackson–Riley standard-error adjustment
meta mvregress — Multivariate meta-regression 366
options Description
Model
noconstant suppress constant term
tdistribution(#) compute 𝑡 tests instead of 𝑧 tests for regression coefficients
Reporting
level(#) set confidence level; default is level(95)
stddeviations show random-effects parameter estimates as standard deviations and
correlations; the default
variance show random-effects parameter estimates as variances and covariances
nohomtest suppress output for homogeneity test
noretable suppress random-effects table
nofetable suppress fixed-effects table
estmetric show parameter estimates as stored in e(b)
noheader suppress output header
display options control columns and column formats, row spacing, line width,
display of omitted variables and base and empty cells, and
factor-variable labeling
Maximization
maximize options control the maximization process; seldom used
coeflegend display legend instead of statistics
moderators may contain factor variables; see [U] 11.4.3 Factor variables.
collect is allowed; see [U] 11.1.10 Prefix commands.
coeflegend does not appear in the dialog box.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Options
Model
ified. This option must be specified in combination with option wcorrelations(), which to-
gether define the within-study covariance matrices. wsevariables() may not be combined with
wcovvariables().
wcorrelations(# | numlist) specifies values for the within-study correlations between depvars.
This option is also used to specify assumed correlations when only within-study standard errors
are available, which are specified in option wsevariables(). If wcorrelations(#) is spec-
ified, # is assumed to be the common within-study correlation value between all depvars. If
numlist is specified, then 𝑑(𝑑 − 1)/2 values must be provided, where 𝑑 is the number of dep-
vars. The order in which the correlation values are specified is important. For example, if we
have 𝑑 = 3 dependent variables y1, y2, and y3, then 3 values must be provided in the following
order: Corr(y1, y2), Corr(y1, y3), and Corr(y2, y3). This option must be specified in combina-
tion with option wsevariables(), which together define the within-study covariance matrices.
wcorrelations() may not be combined with wcovvariables().
random and random(randomspec) specify that a random-effects model be assumed for the multivariate
meta-regression. The syntax for randomspec is remethod [ , covariance(recov) se(seadj) ].
remethod specifies the type of estimator for the between-study covariance matrix 𝚺. remethod is one
of reml, mle, or jwriley. random is a synonym for random(reml).
reml, the default, specifies that the REML method (Jackson, Riley, and White 2011) be used to
estimate 𝚺. This method produces an unbiased positive semidefinite estimate of the between-
study covariance matrix and is commonly used in practice. The reml method requires iteration.
mle specifies that the ML method (Jackson, Riley, and White 2011) be used to estimate 𝚺. It
produces a positive semidefinite estimate of the between-study covariance matrix. With a few
studies or small studies, this method may produce biased estimates. With many studies, the ML
method is more efficient than the REML method. Method mle requires iteration.
jwriley specifies that the Jackson–White–Riley method (Jackson, White, and Riley 2013) be
used to estimate 𝚺. This method is a multivariate generalization of the popular DerSimo-
nian–Laird method in univariate meta-analysis. The method does not make any assumptions
about the distribution of random effects and does not require iteration. But it may produce an
estimate of 𝚺 that is not positive semidefinite and is thus “truncated” (via spectral decomposi-
tion) in that case.
covariance(recov) specifies the structure of the covariance matrix for the random effects. recov is
one of the following: unstructured, independent, exchangeable, identity, or fixed(mat-
name).
unstructured allows for all variances and covariances to be distinct. If there are 𝑑 random-
effects terms (corresponding to the 𝑑 depvars), the unstructured covariance matrix will have
𝑑(𝑑 + 1)/2 unique parameters. This is the default covariance structure.
independent allows for a distinct variance for each random effect corresponding to a dependent
variable and assumes that all covariances are 0.
exchangeable specifies one common variance for all random effects and one common pairwise
covariance.
identity is short for “multiple of the identity”; that is, all variances are equal and all covariances
are 0.
fixed(matname) specifies a fixed (known) 𝚺 = matname. This covariance structure requires
no iteration.
meta mvregress — Multivariate meta-regression 368
se(seadj) specifies that the adjustment seadj be applied to the standard errors of the regression coeffi-
cients. Additionally, the tests of significance of the regression coefficients are based on a Student’s
𝑡 distribution instead of the normal distribution. The Jackson–Riley adjustments are multivariate
generalizations of the Knapp–Hartung standard-error adjustments in univariate meta-regression.
seadj is one of jriley or truncjriley.
jriley specifies that the Jackson–Riley adjustment (Jackson and Riley 2014) be applied to the
standard errors of the coefficients.
truncjriley specifies that the truncated Jackson–Riley adjustment (Jackson and Riley 2014) be
applied to the standard errors of the coefficients.
fixed specifies that a fixed-effects model be assumed for the multivariate meta-regression. In this case,
𝚺 = 0, and no iteration is performed to estimate the random-effects parameters.
noconstant; see [R] Estimation options. This option is not allowed with constant-only multivariate
meta-regression.
tdistribution(#) computes 𝑡 tests instead of 𝑧 tests for the regression coefficients. The 𝑡 tests are
based on # degrees of freedom, which does not have to be an integer.
Reporting
The following option is available with meta mvregress but is not shown in the dialog box:
coeflegend; see [R] Estimation options.
meta mvregress — Multivariate meta-regression 369
Introduction
Multivariate meta-regression is a technique used to study the relationship between multiple, usually
dependent, effect sizes reported for each study and covariates. Multivariate meta-regression is analo-
gous to multivariate regression that is used when individual data are available, but in multivariate meta-
regression, the observations are the studies, the outcomes of interest are effect sizes, and the covariates
are recorded at the study level. The study-level covariates in meta-regression are known as moderators.
Examples of moderators include study publication year, study test environment, and drug administration
method. For a comprehensive introduction to multivariate meta-regression, see Gleser and Olkin (2009)
and Jackson, Riley, and White (2011).
A study may report multiple effect sizes in two different scenarios. In the first scenario, a study
may compare various treatment groups against a common control group. For example, in a study that
investigates the effect of multiple dietary regimens on weight loss, independent groups of individuals
may be assigned to one of several diets: Keto diet, vegan diet, high-protein diet, or intermittent fasting.
Multiple effect sizes that compare each of these diets with a control group (not following an assigned
diet) can be computed. These effect sizes are usually correlated because they share a common control
group. Studies falling under this category are called “multiple-treatment studies” or “mixed-treatment
studies” in the multivariate meta-analysis literature.
In the second scenario, subjects are allocated to a treatment group or a control group as in the case
of univariate meta-analysis, but multiple outcomes (endpoints) are compared across the two groups. For
example, consider a study that explores the impact of a new teaching technique on math (outcome 1),
physics (outcome 2), and chemistry (outcome 3) testing scores. Students are randomly assigned to one
of two groups: those who were taught using the new technique (treatment group) and those who were
not (control group). Three effect sizes that compare the three testing scores across the two groups are
computed. These effect sizes are dependent because they were reported on the same set of students.
Studies of this kind are referred to as “multiple-endpoint studies” in the literature.
Traditionally, the standard approach for handling multiple effect sizes reported per study was to per-
form separate univariate meta-analysis for each effect size. This approach ignores the dependence be-
tween the effect sizes and usually leads to biased pooled effects with overestimated variances. Another
approach (Rosenthal and Rubin 1986) is to summarize the multiple effects by a single value for each
study and then combine these values via standard univariate meta-analysis. This approach will result
in information loss because of data reduction and may yield univariate summaries that are difficult to
interpret in light of the original dependent effect sizes.
By properly accounting for the dependence between the effect sizes, multivariate meta-regression
often provides parameter estimators with more optimal properties when compared with the previous two
approaches. This is because it exploits the correlation between the multiple effect sizes, and thus the
dependent effect sizes may borrow strength from each other to produce pooled effect sizes with smaller
variances (Jackson, Riley, and White 2011).
As is the case with meta-regression, the goal of multivariate meta-regression is also to explore and ex-
plain the between-study heterogeneity as a function of moderators. Two types of multivariate regression
models, fixed-effects and random-effects, are available. A fixed-effects multivariate meta-regression as-
meta mvregress — Multivariate meta-regression 370
sumes that all heterogeneity between study effect sizes can be accounted for by the included moderators.
A random-effects multivariate meta-regression accounts for potential additional variability unexplained
by the included moderators, also known as residual heterogeneity.
meta mvregress fits multivariate meta-regression. The default model assumed by meta mvregress
is a random-effects model using the REML method with an unstructured between-study covariance matrix.
Use the random() option to specify other random-effects methods such as the MLE or a noniterative Jack-
son–White–Riley method, which can be viewed as an extension of the univariate DerSimonian–Laird
method to the multivariate setting. You may also use the random() option to specify an alternative co-
variance structure such as exchangeable, independent, identity, or fixed() in the covariance()
suboption.
Covariance structure fixed() specifies a fixed between-study covariance matrix and thus can be
used to perform sensitivity analysis similarly to option tau2() in [META] meta regress. Specifying
a covariance structure other than the default unstructured is particularly useful when the number of
observations, 𝑛, is small relative to the number of estimated fixed-effects parameters and variance com-
ponents.
Jackson and Riley (2014) proposed an adjustment to the standard errors of the fixed-effects parameters
that provides more accurate inference when the number of studies is relatively small. This adjustment is
available with the se() option. The Jackson–Riley adjustment can be seen as a multivariate extension
of the Knapp–Hartung adjustment (Knapp and Hartung 2003) in univariate meta-regression, and the two
adjustments are identical when there is only one effect-size variable.
Consider data from 𝐾 independent studies and 𝑑 outcomes (effect sizes). Let 𝜃𝑖𝑗̂ be the estimated
̂ ̂ ̂ , . . . , 𝜃 ̂ )′ be an
effect size reported by study 𝑗 for outcome 𝑖, and let a 𝑑 × 1 vector θ𝑗 = (𝜃1𝑗 , 𝜃2𝑗 𝑑𝑗
estimate of the true population effect size θ𝑗 for study 𝑗.
A model for the fixed-effects multivariate meta-regression (Raudenbush, Becker, and Kalaian 1988)
can be expressed as
̂ =𝛽 +𝛽 𝑥 +···+𝛽
𝜃𝑖𝑗 𝑖0 𝑖1 1𝑗 𝑖,𝑝−1 𝑥𝑝−1,𝑗 + 𝜖𝑖𝑗 = x𝑗 β𝑖 + 𝜖𝑖𝑗
Harbord and Higgins (2016) point out that some authors (Thompson and Sharp 1999; Higgins and
Thompson 2004) argue that a fixed-effects meta-regression should not be used because, in practice, the
included moderators rarely capture all the between-study heterogeneity and that the failure of the fixed-
effects regression to capture the extra between-study heterogeneity can lead to excessive type I errors.
This observation is also echoed by Jackson, Riley, and White (2011) in the multivariate setting.
. use [Link]
(Treatment of moderate periodontal disease)
. describe
Contains data from [Link]
Observations: 5 Treatment of moderate
periodontal disease
Variables: 9 13 Jan 2025 18:11
(_dta has notes)
Sorted by:
We will start by performing a separate meta-analysis for each outcome. We declare our data as meta
data using the meta set command and then construct a forest plot for each outcome; see [META] meta
set and [META] meta forestplot, respectively.
. quietly meta set y1 s1, studylabel(trial) eslabel(”Mean diff.”)
. meta forestplot, esrefline
Effect-size label: Mean diff.
Effect size: y1
Std. err.: s1
Study label: trial
Positive y1 values indicate that the mean improvement (reduction) in probing depth for the surgical group
is larger than that for the nonsurgical group. It appears that the surgical treatment performs consistently
better (y1 > 0) across all studies. The overall mean difference is 0.36 with a 95% CI of [0.24, 0.48], which
means that, on average, the reduction in probing depth was 0.36 mm higher than that for the nonsurgical
group.
meta mvregress — Multivariate meta-regression 373
Negative y2 values indicate that the mean improvement (increase) in attachment level for the surgical
group is smaller than that for the nonsurgical group. Because y2 < 0 across all studies, the nonsurgical
treatment performs consistently better in terms of attachment level. It appears that there is considerable
heterogeneity in attachment levels (y2) based on the nonoverlapping CIs in the forest plot and a large
value of the 𝐼 2 statistic (93.98%).
Notice that the obtained heterogeneity statistics are from univariate meta-analyses conducted sepa-
rately. In example 4, we show how to assess heterogeneity from a multivariate analysis by using the
estat heterogeneity command.
meta mvregress — Multivariate meta-regression 374
The two separate meta-analyses do not account for the dependence between y1 and y2. Let’s fit a
bivariate meta-analysis (constant-only bivariate meta-regression) using the meta mvregress command.
. meta mvregress y1 y2, wcovvariables(v11 v12 v22)
Performing EM optimization ...
Performing gradient-based optimization:
Iteration 0: Log restricted-likelihood = 2.0594015
Iteration 1: Log restricted-likelihood = 2.0822862
Iteration 2: Log restricted-likelihood = 2.0823276
Iteration 3: Log restricted-likelihood = 2.0823276
Multivariate random-effects meta-analysis Number of obs = 10
Method: REML Number of studies = 5
Obs per study:
min = 2
avg = 2.0
max = 2
Wald chi2(0) = .
Log restricted-likelihood = 2.0823276 Prob > chi2 = .
y1
_cons .3534282 .0588486 6.01 0.000 .238087 .4687694
y2
_cons -.3392152 .0879051 -3.86 0.000 -.5115061 -.1669243
Unstructured:
sd(y1) .1083191
sd(y2) .1806968
corr(y1,y2) .6087987
The output shows information about the optimization algorithm, the iteration log, and the model (random-
effects) and method (REML) used for estimation. It also displays the number of studies, 𝐾 = 5, and the
total number of observations on the outcomes, 𝑛 = 10, which is equal to 𝐾𝑑 because there are no
missing observations. The minimum, maximum, and average numbers of observations per study are also
reported. Because there were no missing observations, all of these numbers are identical and equal to 2.
The first table displays the regression (fixed-effects) coefficient estimates from the bivariate meta-
analysis. These estimates correspond to the overall bivariate effect size θ̂ = (𝜃1̂ , 𝜃2̂ )′ . The estimates
are close to the univariate ones reported on the forest plots. But from a bivariate analysis, we obtained
slightly narrower 95% CIs for the overall effect sizes. The multivariate homogeneity test, which tests
whether θ𝑗 = (𝜃1𝑗 , 𝜃2𝑗 )′ is constant across studies, is rejected (𝑝 < 0.0001). This agrees with earlier
univariate results, particularly from the second forest plot, which exhibited considerable heterogeneity.
meta mvregress — Multivariate meta-regression 375
The second table displays the random-effects parameters, traditionally known as variance compo-
nents in the context of multilevel or mixed-effects models. By default, similar to the mixed command,
meta mvregress reports standard deviations of y1 and y2 and their correlation: sd(y1), sd(y2), and
corr(y1,y2), respectively. But you can instead specify the variance option to report variances and
the covariance.
Identity:
sd(y1) .1406077
meta mvregress — Multivariate meta-regression 376
Identity:
sd(y2) .201787
Here we specified the standard error variables s1 and s2 in the wsevariables() options to
match the univariate setup more closely, but we could have used wcovvariables(v11) and
wcovvariables(v22), following example 1.
Results from the univariate meta-regressions suggest that variable pubyear does not seem to explain
the between-study heterogeneity between the effect sizes y1 and y2; the 𝑝-values for testing the pubyear
coefficients to be 0 are 𝑝 = 0.833 and 𝑝 = 0.652, respectively.
meta mvregress — Multivariate meta-regression 377
The two separate meta-regressions do not account for the dependence between y1 and y2. Below, we
fit a bivariate meta-regression that accounts for this dependence.
. meta mvregress y1 y2 = pubyear, wcovvariables(v*)
Performing EM optimization ...
Performing gradient-based optimization:
Iteration 0: Log restricted-likelihood = -3.5544446
Iteration 1: Log restricted-likelihood = -3.5402086
Iteration 2: Log restricted-likelihood = -3.5399568
Iteration 3: Log restricted-likelihood = -3.5399567
Multivariate random-effects meta-regression Number of obs = 10
Method: REML Number of studies = 5
Obs per study:
min = 2
avg = 2.0
max = 2
Wald chi2(2) = 0.40
Log restricted-likelihood = -3.5399567 Prob > chi2 = 0.8197
y1
pubyear .0048615 .0218511 0.22 0.824 -.0379658 .0476888
_cons .3587569 .07345 4.88 0.000 .2147975 .5027163
y2
pubyear -.0115367 .0299635 -0.39 0.700 -.070264 .0471907
_cons -.3357368 .0979979 -3.43 0.001 -.5278091 -.1436645
Unstructured:
sd(y1) .1429917
sd(y2) .2021314
corr(y1,y2) .561385
Instead of listing all the variance–covariance variables v11, v12, and v22 in the wcovvariables()
option, we used the stub notation v* to refer to all of them. This notation is especially convenient for mod-
els with more dependent variables. You just need to make sure that these are the only variables starting
with v in the dataset and that the variables are properly ordered (think of a vectorized upper triangle of the
variance–covariance matrix) before using the stub notation; see the description of wcovvariables().
The estimates of the regression coefficients of variable pubyear are 0.0049 with a 95% CI of
[−0.0380, 0.0477] for outcome y1 and −0.0115 with a 95% CI of [−0.0703, 0.0472]) for outcome y2.
The coefficients are not significant according to the 𝑧 tests with the respective 𝑝-values 𝑝 = 0.824 and
𝑝 = 0.7.
Although pubyear did not explain the between-study heterogeneity, we continue to include it as a
moderator in our subsequent examples (example 3–example 6) for illustration purposes.
meta mvregress — Multivariate meta-regression 378
y1
pubyear .004542 .021569 0.21 0.833 -.0377325 .0468165
_cons .362598 .0725013 5.00 0.000 .2204981 .504698
y2
pubyear -.0134909 .0299534 -0.45 0.652 -.0721985 .0452167
_cons -.3399793 .0978864 -3.47 0.001 -.5318331 -.1481256
Independent:
sd(y1) .1406077
sd(y2) .201787
The results for regression coefficients and variance components are identical to those from separate uni-
variate meta-regressions in example 2. Note that the multivariate homogeneity statistic 𝑄M = 120.10
is the sum of the univariate statistics 𝑄M = 𝑄res = 11.8 and 𝑄M = 𝑄res = 108.3, where 𝑄res is the
univariate version of 𝑄M defined in [META] meta regress.
meta mvregress — Multivariate meta-regression 379
By default, the Cochran and Jackson–White–Riley heterogeneity statistics are reported, but the White
heterogeneity statistic is also available, as we demonstrate later in this example.
Cochran 𝐼Q2 and 𝐻Q2 are direct extensions to the multivariate setting of the univariate 𝐼 2 and 𝐻 2 statis-
tics based on the DerSimonian–Laird method and thus have the same interpretations; see Heterogeneity
measures in Methods and formulas in [META] meta summarize and Residual heterogeneity measures in
Methods and formulas in [META] meta regress. For instance, 𝐼Q2 = 95.23% means that 95.23% of the
residual heterogeneity, heterogeneity not accounted for by the moderator pubyear, is due to true hetero-
geneity between the studies as opposed to the sampling variability. The high value for this statistic is not
surprising because, as we saw in example 2, pubyear did not explain much heterogeneity between the
studies.
The values of Cochran statistics are the same for all random-effects methods because they are based on
the Cochran multivariate 𝑄 statistic, which is calculated based on the fixed-effects model; see Cochran
heterogeneity statistics in Methods and formulas in [META] estat heterogeneity (mv) for details. One
potential shortcoming of the Cochran statistics is that they quantify the amount of heterogeneity jointly
for all outcomes. The Jackson–White–Riley statistics (Jackson, White, and Riley 2012) provide ways to
assess the contribution of each outcome to the total heterogeneity, in addition to their joint contribution.
You can also investigate the impact of any subset of outcomes on heterogeneity by specifying the
subset of outcomes in the jwriley() option of estat heterogeneity; see example 1 of [META] estat
heterogeneity (mv). These statistics are also the only truly multivariate heterogeneity statistics in the
sense that their definitions stem from purely multivariate concepts rather than from univariate concepts
applied to the multivariate setting.
The Jackson–White–Riley statistics measure the variability of the random-effects estimator relative
to the fixed-effects estimator. The larger the values, the more between-study heterogeneity is left un-
explained after accounting for moderators. The 𝑅JWR statistic is an absolute measure (𝑅JWR ≥ 1), and
meta mvregress — Multivariate meta-regression 380
2
𝐼JWR is defined based on 𝑅JWR as a percentage increase in the variability of the random-effects estimates
relative to the fixed-effects estimates; see Jackson–White–Riley heterogeneity statistics in Methods and
formulas in [META] estat heterogeneity (mv) for technical details.
2
𝑅JWR = 1, and consequently 𝐼JWR = 0%, means that the moderators have accounted for all the het-
erogeneity between the effect sizes, and therefore there is no difference between the random-effects and
2
fixed-effects models. Values of 𝐼JWR that are close to 100% mean that considerable residual heterogene-
ity is still present in the model so that the random-effects model is more appropriate. In our example, for
instance, for outcome y1, 𝑅JWR = 2.6, and the corresponding 𝐼JWR 2
= 85.26% > 75%, which suggests
“large heterogeneity” according to Higgins et al. (2003).
Other multivariate extensions of the 𝐼 2 heterogeneity statistic have also been used in practice. For
example, the White 𝐼 2 statistic (White 2011) can be computed by using the white option.
. estat heterogeneity, white
Method: White
y1:
I2 (%) = 77.26
y2:
I2 (%) = 94.32
The White 𝐼 2 statistic is a direct extension of the univariate 𝐼 2 statistic (Residual heterogeneity mea-
sures in Methods and formulas in [META] meta regress), except the estimated between-study variance
𝜏 ̂2 is replaced by a diagonal of the estimated between-study covariance matrix, 𝚺. ̂ It has the same inter-
pretation as the univariate 𝐼 2 and reduces to it when there is only one dependent variable.
Unlike the Cochran and Jackson–White–Riley statistics that can assess heterogeneity jointly for all
outcomes, the White statistic can only quantify heterogeneity separately for each outcome; see table 1
in [META] estat heterogeneity (mv). In our example, continuing with outcome y1, we see that 𝐼W 2
=
77.26% > 75% also reports the presence of a large between-study variability for that outcome even after
accounting for pubyear.
Technical note
The actual definition for the Jackson–White–Riley 𝑅JWR statistic is somewhat technical. It is easier
to think about it first in the univariate setting, where it is defined as the ratio of the widths of the CIs
of the random-effects estimator for the regression coefficient vector to the corresponding fixed-effects
estimator raised to the power of 1/2𝑝. In the multivariate setting, the widths of confidence intervals
become areas or volumes of confidence regions, and the power becomes 1/2𝑝𝑑.
For example, for outcome y1, 𝑑 = 1, 𝑝 = 2, and 𝛽01 ̂ and 𝛽 ̂ are the estimates of the constant and the
11
regression coefficient for pubyear. Then, 𝑅JWR = 2.6 is the ratio, raised to the power of 1/4, of the areas
̂ and 𝛽 ̂ under the random-effects and fixed-effects
of the confidence regions (ellipses) for estimates 𝛽01 11
multivariate meta-regressions. This ratio is greater than 1 because the area of the confidence region under
the random-effects model is larger.
2
The 𝐼JWR = 85.26% for outcome y1 is interpreted as roughly an 85% increase in the area of the confi-
dence regions for the random-effects estimator of 𝛽01 and 𝛽11 relative to the fixed-effects estimator. See
2
Jackson, White, and Riley (2012) for more ways of interpreting the 𝐼JWR statistic in terms of generalized
variances and geometric means.
Note that with three- and higher-dimensional models, the areas of confidence regions become vol-
umes, and the shapes of confidence regions become ellipsoids.
meta mvregress — Multivariate meta-regression 381
y1
pubyear .0046544 .023268 0.20 0.841 -.04095 .0502588
_cons .358993 .0783252 4.58 0.000 .2054784 .5125075
y2
pubyear -.0117463 .0419197 -0.28 0.779 -.0939074 .0704147
_cons -.335579 .1393286 -2.41 0.016 -.608658 -.0624999
Unstructured:
sd(y1) .1547229
sd(y2) .2947281
corr(y1,y2) .6518347
The estimates of the regression coefficients are very similar to those from example 2 using the REML
method. For instance, the coefficient of pubyear for outcome y1 is 0.0049 and is similar to the REML
estimate of 0.0047. The standard errors and estimates of variance components are larger than those
obtained from the REML estimation. This is because REML assumes normality and, when this assumption
is satisfied, it is likely to produce more efficient estimates than a method of moments estimator such as
the Jackson–White–Riley.
y1
pubyear .0048615 .021313 0.23 0.827 -.0472895 .0570124
_cons .3587569 .0716413 5.01 0.002 .183457 .5340569
y2
pubyear -.0115367 .0292256 -0.39 0.707 -.0830492 .0599758
_cons -.3357368 .0955846 -3.51 0.013 -.569624 -.1018496
Unstructured:
sd(y1) .1429917
sd(y2) .2021314
corr(y1,y2) .561385
The regression coefficients and variance components are identical to those in example 2. But the standard
errors of the regression coefficients have been adjusted; see Jackson–Riley standard-error adjustment in
Methods and formulas below. The tests of the regression coefficients and the model test now use the
Student’s 𝑡 and 𝐹 distributions, respectively, instead of the default normal and 𝜒2 distributions.
Another standard error adjustment that is used in practice is the truncated Jackson–Riley adjustment,
which may be obtained by specifying the se(truncjriley) suboption. The Jackson–Riley standard-
error adjustment reduces to the Knapp–Hartung adjustment when there is only one dependent variable.
meta mvregress — Multivariate meta-regression 383
Sorted by:
Variables y1 and y2 are logit-transformed sensitivity and specificity for telomerase, and s1 and s2 are
the corresponding standard errors.
No within-study covariances are reported for this dataset. When this occurs, one possible approach is
to perform a sensitivity analysis (see example 10), where we assess the impact of different magnitudes
of correlations on our bivariate meta-analysis results. In our case, sensitivity and specificity are typi-
cally measured on independent groups of individuals, so it is reasonable to assume that the within-study
correlation is zero between y1 and y2.
We specify the variance option to report variances and covariances of the random effects instead of
the default standard deviations and correlations to replicate the results of Riley et al. (2007, table 3), who
reported variances of the random effects.
meta mvregress — Multivariate meta-regression 384
y1
_cons 1.166189 .1861349 6.27 0.000 .801371 1.531006
y2
_cons 2.057721 .5534499 3.72 0.000 .9729789 3.142462
Unstructured:
var(y1) .2022309
var(y2) 2.583339
cov(y1,y2) -.7227936
Our results match those reported by Riley et al. (2007). The estimated overall sensitivity for y1
is invlogit(1.166) = 76.24 or roughly 76%, and the estimated overall specificity for y2 is
invlogit(2.058) = 88.68 or roughly 89%. Glas et al. (2003) noted that the sensitivity of telomerase
may not be large enough for clinical use in diagnosing bladder cancer.
Had we not specified the variance option and reported the default standard deviations and correla-
tions of the random-effects, we would get corr(y1,y2) = −1. We can verify this either by typing meta
mvregress to replace the results or by using the postestimation command estat sd. We demonstrate
the latter.
. estat sd
Unstructured:
sd(y1) .4497009
sd(y2) 1.607277
corr(y1,y2) -.9999998
meta mvregress — Multivariate meta-regression 385
Riley et al. (2007) noted that having a between-study correlation of 1 or −1 is common in multivari-
ate meta-analysis when the number of studies is small, especially when the within-study variances are
similar to or larger than the corresponding between-study variances. This is the case in our data where,
for example, the mean within-study variance for y1 is 0.18 (for instance, type summarize v1), which is
comparable with the estimated between-study variance var(y1) = 0.20. Other random-effects covari-
ance structures should be explored to address correlations of 1 and −1; see example 1 of [META] meta
mvregress postestimation.
1 1 1 1
14 1 0 0
3 0 0 1
3 1 1 0
1 0 1 0
1 0 1 1
1 1 0 1
24
Variables are (1) yc (2) yd (3) yb
There are 24 observations, and only 1 contains values for all 3 variables. There is only one observation
when both yd and yb and both yc and yb are observed. And variables yd and yb have only six nonmissing
values. So, among all variables, there are a total of 72 = 3 × 24 values, and only 31 = 72 − (14 × 2 +
3 × 2 + 3 + 2 + 1 + 1) of them are not missing. Given how small and sparse these data are, we can
anticipate that the joint estimation of these variables will be challenging without additional, potentially
strong, assumptions about the data.
In fact, if we try to run the following model, where for demonstration we use the ML method,
. meta mvregress yb yc yd, wcovvariables(vbb vbc vbd vcc vcd vdd) random(mle)
(output omitted )
we will obtain a correlation between the random effects associated with outcomes yb and yd,
corr(yb,yd), close to 1. This is because only 2 out of the 24 studies have observations on both of the
outcomes (type misstable pattern yb yd, frequency), which makes the estimation of corr(yb,yd)
unstable and inaccurate. Also, the between-study covariance structure may be overparameterized given
how sparse the data are.
Note that meta mvregress uses all available data (all 31 nonmissing values in our example) and not
just complete observations. It produces valid results under the assumption that the missing observations
are missing at random.
The first model we ran assumed an unrestricted (unstructured) between-study covariance for yb,
yc, and yd. Let’s simplify this assumption and assume an independent covariance structure to reduce the
number of estimated variance components. Also, whenever a large portion of the observations is missing,
as in our example, parameter estimates tend to be less accurate. We thus specify the cformat(%9.3f)
option to display results up to three decimal points.
meta mvregress — Multivariate meta-regression 387
yb
_cons 0.147 0.135 1.09 0.274 -0.116 0.411
yc
_cons 0.649 0.193 3.36 0.001 0.270 1.027
yd
_cons 0.663 0.243 2.72 0.006 0.186 1.140
Independent:
sd(yb) 0.000
sd(yc) 0.694
sd(yd) 0.092
All the regression coefficient estimates are positive, which means that all interventions are better than
intervention (a), although without statistical significance for outcome yb. Parameter sd(yb) is close to 0,
which means that the between-study covariance may still be overparameterized. In example 9 below, we
will demonstrate alternative random-effects covariance structures that further restrict the between-study
covariance structure.
yb
_cons 0.367 0.317 1.16 0.247 -0.254 0.988
yc
_cons 0.674 0.176 3.83 0.000 0.329 1.019
yd
_cons 0.864 0.396 2.18 0.029 0.087 1.641
Identity:
sd(yb yc yd) 0.580
The random-effects (or between-study) covariance structure is now labeled Identity:, and the common
standard deviation is labeled as sd(yb yc yd) and is equal to 0.580. Notice how sensitive the regression
coefficient estimates are to the choice of the between-study covariance structure. This phenomenon is a
consequence of many missing values in the data. In this case, it is important to also explore univariate
results by performing meta-analysis separately for each outcome.
We can also assume that all random effects have the same correlation and the same variance by spec-
ifying the exchangeable covariance structure.
meta mvregress — Multivariate meta-regression 389
yb
_cons 0.413 0.296 1.40 0.162 -0.166 0.992
yc
_cons 0.705 0.193 3.66 0.000 0.327 1.082
yd
_cons 0.837 0.308 2.71 0.007 0.232 1.441
Exchangeable:
sd(yb yc yd) 0.672
corr(yb yc yd) 0.817
The common correlation is labeled as corr(yb yc yd) with an estimated value of 0.817, and the common
standard deviation, sd(yb yc yd), is estimated to be 0.672.
meta mvregress lists only the estimated variance components. If you would like to see the full
between-study covariance matrix, you can use the estat recovariance command.
. estat recovariance
Between-study covariance matrix
yb yc yd
yb .451656
yc .3690338 .451656
yd .3690338 .3690338 .451656
To see the corresponding correlation matrix, you can specify the correlation option.
meta mvregress — Multivariate meta-regression 390
We fit the first model using the correlations of 0 and store the estimation results as corr0.
. meta mvregress y*, wcovvariables(v*) random(mle, covariance(fixed(Sigma1)))
Multivariate random-effects meta-analysis Number of obs = 31
Method: User-specified Sigma = Sigma1 Number of studies = 24
Obs per study:
min = 1
avg = 1.3
max = 3
Wald chi2(0) = .
Prob > chi2 = .
yb
_cons .4293913 .502528 0.85 0.393 -.5555455 1.414328
yc
_cons .7629462 .2739889 2.78 0.005 .2259379 1.299955
yd
_cons 1.028532 .5979445 1.72 0.085 -.1434175 2.200482
User-specified Sigma1:
sd(yb) 1
sd(yc) 1
sd(yd) 1
corr(yb,yc) 0
corr(yb,yd) 0
corr(yc,yd) 0
Next, we fit the model with correlations of 0.4 and store results as corr4 and the model with corre-
lations of 0.8 and store results as corr8. For brevity, we suppress the output from both commands.
meta mvregress — Multivariate meta-regression 391
yb
_cons 0.429 0.472 0.566
0.503 0.478 0.418
yc
_cons 0.763 0.752 0.730
0.274 0.271 0.266
yd
_cons 1.029 1.039 1.057
0.598 0.603 0.607
Legend: b/se
As the correlation between the random effects associated with yb and yc increases, the coefficient es-
timate for yb increases, whereas that for yc decreases. Also, the two estimates become more precise
(have smaller standard errors) as the correlation increases. This is expected because estimation borrows
information from one outcome to estimate the coefficient of the other correlated outcome. This phe-
nomenon is referred to as “strength borrowing” in the multivariate meta-analysis literature. Notice also
how the various magnitudes of correlations had little to no impact on the estimation of yd because of the
assumption of zero correlation between the random effect of yd and those of yb and of yc.
y1 y4
.808 .
. 1.962
. 2.568
. .
1.171 3.159
.681 .
As the error message suggests, the estimation of the between-study covariance matrix, especially the ele-
ment cov(y1,y4), is not possible, because there is only one joint observation (1.171, 3.159) on variables
y1 and y4.
We may try a different random-effects covariance structure (see example 9 and example 10). Alter-
natively, we will follow Gleser and Olkin (2009) and perform a fixed-effects multivariate meta-analysis
by specifying the fixed option.
. meta mvregress y*, wcovvariables(v*) fixed
Multivariate fixed-effects meta-analysis Number of obs = 15
Number of studies = 6
Obs per study:
min = 1
avg = 2.5
max = 4
Wald chi2(0) = .
Prob > chi2 = .
y1
_cons .7560005 .1144556 6.61 0.000 .5316716 .9803294
y2
_cons 1.398708 .1265397 11.05 0.000 1.150695 1.646722
y3
_cons 1.745014 .1646159 10.60 0.000 1.422373 2.067655
y4
_cons 2.146055 .1823172 11.77 0.000 1.78872 2.50339
y5
_cons 2.141486 .2338656 9.16 0.000 1.683118 2.599854
The homogeneity test based on the statistic 𝑄M = 10.1 favors the fixed-effects model (𝑝 = 0.4318).
However, we should be careful not to rely solely on this test because it is known to have low power when
the number of studies is small (Hedges and Pigott 2001).
meta mvregress — Multivariate meta-regression 393
Stored results
meta mvregress stores the following in e():
Scalars
e(N) total number of observations on depvars
e(k) number of parameters
e(k eq) number of dependent variables
e(k f) number of fixed-effects parameters
e(k r) number of random-effects parameters
e(k rs) number of variances
e(k rc) number of covariances
e(seadj) standard error adjustment (se() only)
e(ll) log (restricted) likelihood (mle and reml only)
e(rank) rank of e(V)
e(ic) number of iterations (mle and reml only)
e(df m) model degrees of freedom
e(chi2) model 𝜒2 Wald test statistic
e(df r) model denominator degrees of freedom (tdistribution() only)
e(F) model 𝐹 statistic (tdistribution() only)
e(p) 𝑝-value for model test
e(Q M) multivariate Cochran 𝑄 residual homogeneity test statistic
e(df Q M) degrees of freedom for residual homogeneity test
e(p Q M) 𝑝-value for residual homogeneity test
e(converged) 1 if converged, 0 otherwise (mle and reml only)
e(s max) maximum number of observations per study
e(s avg) average number of observations per study
e(s min) minimum number of observations per study
e(N s) number of studies
Macros
e(cmd) meta mvregress
e(cmdline) command as typed
e(model) multivariate meta-analysis model
e(method) multivariate meta-analysis estimation method
e(title) title in estimation output
e(chi2type) Wald; type of model 𝜒2 test
e(depvars) names of dependent variables
e(indepvars) names of independent variables (moderators)
e(wcovvariables) variables defining within-study covariance matrix
e(wsevariables) standard error variables from wsevariables()
e(wcorrelations) values of the assumed within-study correlations from wcorrelations()
e(redim) random-effects dimensions
e(vartypes) variance-structure types
e(seadjtype) type of standard error adjustment (se() only)
e(technique) maximization technique (mle and reml only)
e(ml method) type of ml method
e(opt) type of optimization (mle and reml only)
e(optmetric) matsqrt or matlog; random-effects matrix parameterization (mle and reml only)
e(properties) b V
e(predict) program used to implement predict
e(estat cmd) program used to implement estat
e(marginsok) predictions allowed by margins
e(marginsnotok) predictions disallowed by margins
e(marginsdefault) default predict() specification for margins
e(asbalanced) factor variables fvset as asbalanced
e(asobserved) factor variables fvset as asobserved
meta mvregress — Multivariate meta-regression 394
Matrices
e(b) coefficient vector
e(V) variance–covariance matrix of the estimators
Functions
e(sample) marks estimation sample
Note that results stored in r() are updated when the command is replayed and will be replaced when any
r-class command is run after the estimation command.
θ̂𝑗 = X𝑗 β + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
Let W𝑗 = 𝚲−1
𝑗 , a 𝑑 × 𝑑 matrix. Then the fixed-effects estimator for the regression coefficients is
𝐾 −1 𝐾
̂ = (∑ X′ W𝑗 X𝑗 ) ∑ X′ W𝑗 θ̂𝑗
β 𝑗 𝑗
𝑗=1 𝑗=1
𝐾 −1
̂ = (∑ X′ W𝑗 X𝑗 )
Var(β) (1)
𝑗
𝑗=1
The above fixed-effects regression does not account for residual heterogeneity. This can lead to stan-
dard errors of regression coefficients that are too small. Next we present a random-effects multivariate
meta-regression model that incorporates residual heterogeneity by including an additive between-study
covariance component 𝚺.
θ̂𝑗 = X𝑗 β + u𝑗 + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
where random effects u𝑗 = (𝑢1𝑗 , 𝑢2𝑗 , . . . , 𝑢𝑑𝑗 )′ ∼ 𝑁𝑑 (0, 𝚺) (𝑗 = 1, . . . , 𝐾) account for the additional
variation that is not explained by moderators X𝑗 .
The models above define a random-effects multivariate meta-regression.
̂ be an estimate of the between-study covariance matrix 𝚺 (to be discussed later), and let W∗𝑗 =
Let 𝚺
̂ + 𝚲𝑗 )−1 . The random-effects estimator for the regression coefficients is
(𝚺
𝐾 −1 𝐾
̂∗ = (∑ X′ W∗ X𝑗 ) ∑ X′ W∗ θ̂𝑗
β 𝑗 𝑗 𝑗 𝑗
𝑗=1 𝑗=1
𝐾 −1
∗
̂ ) = (∑ X′ W∗ X𝑗 )
Var(β (2)
𝑗 𝑗
𝑗=1
In the following section, we outline the estimation of the between-study covariance matrix 𝚺 for
the ML and REML iterative methods. For the noniterative Jackson–White–Riley of estimating 𝚺, see
Noniterative method for computing 𝚺.
The two estimators described below do not have a closed-form solution, and an iterative algorithm is
needed to estimate 𝚺.
meta mvregress — Multivariate meta-regression 396
The joint log-likelihood function of β and 𝚺 for a random-effects multivariate meta-regression can
be expressed as
𝐾 𝐾
1 ′
ln 𝐿ML (β, 𝚺) = − {𝑛 ln(2𝜋) + ∑ ln ∣V𝑗 ∣ + ∑ (θ̂𝑗 − X𝑗 β) V−1 ̂
𝑗 (θ𝑗 − X𝑗 β)}
2 𝑗=1 𝑗=1
̂ (𝑛 = 𝐾𝑑
where V𝑗 = 𝚺+𝚲𝑗 , |V𝑗 | is the determinant of V𝑗 , and 𝑛 is the total number of observations 𝜃𝑖𝑗
when there are no missing data).
The between-study covariance 𝚺 is estimated by maximizing the profile log-likelihood function ob-
tained by treating β as known and plugging β̂∗ into ln 𝐿ML (β, 𝚺) in place of β (Pinheiro and Bates
[2000, ch. 2]):
𝐾 𝐾
1 ′
̂∗ ) V−1 (θ̂𝑗 − X𝑗 β
̂∗ )}
ln 𝐿ML (𝚺) = − {𝑛 ln(2𝜋) + ∑ ln ∣V𝑗 ∣ + ∑ (θ̂𝑗 − X𝑗 β 𝑗
2 𝑗=1 𝑗=1
The MLE of 𝚺 does not incorporate the uncertainty about the unknown regression coefficients β and
thus can be negatively biased.
The REML estimator of 𝚺 maximizes the restricted log-likelihood function
𝐾
1 𝑑𝑝
ln 𝐿REML (𝚺) = ln 𝐿ML (𝚺) − ln ∣∑ X′𝑗 V−1
𝑗 X𝑗 ∣ + ln(2𝜋)
2 𝑗=1
2
The REML method estimates 𝚺 by accounting for the uncertainty in the estimation of β, which leads
to a nearly unbiased estimate of 𝚺. The optimization of the above log-likelihood functions can be done
using the machinery of the mixed-effects models to obtain the estimates β ̂∗ and 𝚺.
̂ For details, see
Pinheiro and Bates (2000) and Methods and formulas of [ME] mixed. When 𝑑 = 1, that is, in the context
of univariate meta-analysis, the above ML and REML estimators reduce to their univariate counterparts as
reported by meta regress.
This section describes a noniterative method to estimate the between-study covariance matrix 𝚺,
which has a closed-form expression. The formulas in this section are based on Jackson, White, and Riley
(2013).
Using the notation for a fixed-effects multivariate meta-regression, define a 𝑑 × 𝑑 matrix
𝐾
QJWR = ∑ W𝑗 (θ̂𝑗 − X𝑗 β) ̂ ′ R𝑗
̂ (θ̂𝑗 − X𝑗 β)
𝑗=1
̂ is observed and 0 if
where R𝑗 is a 𝑑 × 𝑑 diagonal matrix with the 𝑖th diagonal element equal to 1 if 𝜃𝑖𝑗
it is missing.
The role of R𝑗 is to ensure that missing outcomes do not contribute to the computation of QJWR .
Let R = ⊕𝐾 𝐾
𝑗=1 R𝑗 and W = ⊕𝑗=1 W𝑗 be 𝐾𝑑 × 𝐾𝑑 block-diagonal matrices formed by submatrices R𝑗
and W𝑗 , respectively; ⊕ is the Kronecker sum. In the presence of missing outcome values, the matrix
W𝑗 = 𝚲−1 𝑗 is obtained by inverting the submatrix of 𝚲𝑗 corresponding to the observed outcome values
and by replacing the remaining elements with zeros.
meta mvregress — Multivariate meta-regression 397
Let X denote a 𝐾𝑑 × 𝑝 matrix constructed by vertically stacking the 𝑑 × 𝑝 matrices X𝑗 , that is,
X = (X′1 , X′2 , . . . , X′𝐾 )′ . Define
PM = (I𝐾𝑑 − H)′ W
(3)
B = (I𝐾𝑑 − H)′ R
where H = X(X′ WX)−1 X′ W and I𝐾𝑑 is the 𝐾𝑑 × 𝐾𝑑 identity matrix. The subscript M in PM is used
to emphasize that the 𝐾𝑑 × 𝐾𝑑 matrix PM generalizes the 𝐾 × 𝐾 matrix P, defined by (1) in Methods
and formulas of [META] meta regress, to the multivariate meta-regression setting.
Partition the 𝐾𝑑 × 𝐾𝑑 matrices PM and B into 𝐾 2 blocks of 𝑑 × 𝑑 matrices, and denote the 𝑗th by 𝑙th
submatrix of PM by (PM )𝑗𝑙 and of B by (B)𝑗𝑙 , respectively. The method of moments estimator proposed
by Jackson, White, and Riley (2013) solves the system of 𝑑2 estimating equations
𝐾 𝐾 𝐾
vec (QJWR ) = vec {∑ (B)𝑗𝑗 } + {∑ ∑ (B)′𝑗𝑙 ⊗ (PM )𝑙𝑗 } vec(𝚺)
̃
𝑗=1 𝑙=1 𝑗=1
̃ and
where vec(A) vectorizes A column by column and ⊗ is the Kronecker product. Solving for vec(𝚺)
̃
hence 𝚺, we obtain the JWR estimator of the between-study covariance matrix,
′
̃ ̃
̂ JWR = 𝚺 + 𝚺
𝚺
2
The estimator 𝚺̂ JWR is symmetric but not necessarily positive semidefinite. We can obtain a positive
̂+
semidefinite estimator, 𝚺 ̂
JWR , based on spectral decomposition 𝚺JWR = ∑
𝑑
𝜆𝑖 e𝑖 e′𝑖 as follows,
𝑖=1
𝑑
̂+
𝚺 ′
JWR = ∑ max (0, 𝜆𝑖 ) e𝑖 e𝑖
𝑖=1
Several covariance structures may be assumed for the between-study covariance matrix 𝚺. The de-
fault covariance structure is unstructured, which is the most general structure in which all elements
or, more precisely, 𝑑(𝑑 + 1)/2 variance components are estimated. Other covariance structures are
independent, exchangeable, identity, and fixed(matname). These structures may be useful to
provide more stable estimates by reducing the complexity of the model, especially when the number of
observations, 𝑛, is relatively small.
meta mvregress — Multivariate meta-regression 398
𝜎11
independent 𝚺=⎡
⎢ 0 𝜎22 ⎤
⎥
⎣ 0 0 𝜎33 ⎦
𝜎11
exchangeable 𝚺=⎡
⎢𝜎21 𝜎11 ⎤
⎥
⎣𝜎21 𝜎21 𝜎11 ⎦
𝜎11
identity 𝚺=⎡
⎢ 0 𝜎11 ⎤
⎥
⎣ 0 0 𝜎11 ⎦
Any of the above covariance structures may be specified with the ML and REML methods. Only the
unstructured covariance structure is allowed with the JWR method. When covariance structure
fixed(matname) is specified, matname is assumed to be the known between-study covariance, and
thus no iteration is needed.
By default, the inference about the regression coefficients and their confidence intervals from meta-
regression is based on a normal distribution. The test of the significance of all regression coefficients is
based on a 𝜒2 distribution with 𝑑(𝑝 − 1) degrees of freedom.
Jackson and Riley (2014) proposed an adjustment to the standard errors of the estimated regression
coefficients to account for the uncertainty in the estimation of 𝚺. They showed that the corresponding
tests of individual regression coefficients and their confidence intervals are based on the Student’s 𝑡
distribution with 𝑛 − 𝑑𝑝 degrees of freedom and that the overall test of significance is based on an 𝐹
distribution with 𝑑(𝑝 − 1) numerator and 𝑛 − 𝑑𝑝 denominator degrees of freedom.
The Jackson–Riley adjustment first calculates the quadratic form,
𝐾
1 ̂ ′ W∗ (θ̂𝑗 − X𝑗 β)
𝑞JR = ∑ (θ̂𝑗 − X𝑗 β) 𝑗
̂
𝑛 − 𝑑𝑝 𝑗=1
It then multiplies the regular expressions of the variances of regression coefficients by 𝑞JR or, in the case
of the truncated Jackson–Riley adjustment, by max(1, 𝑞JR ). When 𝑑 = 1, the Jackson–Riley adjustment,
𝑞JR , reduces to the Knapp–Hartung adjustment, 𝑞KH , from Knapp–Hartung standard-error adjustment in
Methods and formulas in [META] meta regress.
Multivariate meta-analysis
The formulas presented so far are derived for the general case of multivariate meta-regression. Meth-
ods and formulas for the special case of multivariate meta-analysis (when no moderators are included)
can be obtained by taking x𝑗 = 1 and 𝑝 = 1. When 𝑑 = 1, the REML, ML, and JWR estimators reduce
to the univariate REML, ML, and DL estimators described in [META] meta summarize for constant-only
models and in [META] meta regress for regression models.
meta mvregress — Multivariate meta-regression 399
References
Antczak-Bouckoms, A., K. Joshipura, E. Burdick, and J. F. Camilla Tulloch. 1993. Meta-analysis of surgical versus
non-surgical methods of treatment for periodontal disease. Journal of Clinical Periodontology 20: 259–268. https:
//[Link]/10.1111/j.1600-051X.1993.tb00355.x.
Berkey, C. S., D. C. Hoaglin, F. Mosteller, and G. A. Colditz. 1998. Meta-analysis of multiple outcomes by regression
with random effects. Statistics in Medicine 17: 2537–2550. [Link]
22%3C2537::AID-SIM953%[Link];2-C.
Fiore, M. C., W. C. Bailey, S. J. Cohen, S. F. Dorfman, M. G. Goldstein, E. R. Gritz, R. B. Heyman, J. Holbrook, C. R. Jaen,
T. E. Kottke, H. A. Lando, R. Mecklenburg, P. D. Mullen, L. M. Nett, L. Robinson, M. L. Stitzer, A. C. Tommasello,
L. Villejo, and M. E. Wewers. 1996. “Smoking Cessation”. In Clinical Practice Guideline No. 18. Rockville, MD: U.S.
Department of Health and Human Services, Public Health Service, Agency for Health Care Policy and Research.
AHCPR Publication No. 96-0692.
Glas, A. S., D. Roos, M. Deutekom, A. H. Zwinderman, P. M. M. Bossuyt, and K. H. Kurth. 2003. Tumor markers in
the diagnosis of primary bladder cancer. A systematic review. Journal of Urology 169: 1975–1982. [Link]
1097/[Link].0000067461.30468.6d.
Gleser, L. J., and I. Olkin. 2009. “Stochastically dependent effect sizes”. In The Handbook of Research Synthesis and
Meta-Analysis, edited by H. Cooper, L. V. Hedges, and J. C. Valentine, 357–376. 2nd ed. New York: Russell Sage
Foundation.
Harbord, R. M., and J. P. T. Higgins. 2016. “Meta-regression in Stata”. In Meta-Analysis in Stata: An Updated Collection
from the Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 85–111. 2nd ed. College Station, TX: Stata Press.
Hartung, J., G. Knapp, and B. K. Sinha. 2008. Statistical Meta-Analysis with Applications. Hoboken, NJ: Wiley. https:
//[Link]/10.1002/9780470386347.
Hedges, L. V., and T. D. Pigott. 2001. The power of statistical tests in meta-analysis. Psychological Methods 6: 203–217.
[Link]
Higgins, J. P. T., and S. G. Thompson. 2004. Controlling the risk of spurious findings from meta-regression. Statistics in
Medicine 23: 1663–1682. [Link]
Higgins, J. P. T., S. G. Thompson, J. J. Deeks, and D. G. Altman. 2003. Measuring inconsistency in meta-analyses. BMJ
327: 557–560. [Link]
Jackson, D., and R. D. Riley. 2014. A refined method for multivariate meta-analysis and meta-regression. Statistics in
Medicine 33: 541–554. [Link]
Jackson, D., R. D. Riley, and I. R. White. 2011. Multivariate meta-analysis: Potential and promise. Statistics in Medicine
30: 2481–2498. [Link]
meta mvregress — Multivariate meta-regression 400
Jackson, D., I. R. White, and R. D. Riley. 2012. Quantifying the impact of between-study heterogeneity in multivariate
meta-analyses. Statistics in Medicine 31: 3805–3820. [Link]
———. 2013. A matrix-based method of moments for fitting the multivariate random effects model for meta-analysis
and meta-regression. Biometrical Journal 55: 231–245. [Link]
Knapp, G., and J. Hartung. 2003. Improved tests for a random effects meta-regression with a single covariate. Statistics
in Medicine 22: 2693–2710. [Link]
Lu, G., and A. E. Ades. 2006. Assessing evidence inconsistency in mixed treatment comparisons. Journal of the American
Statistical Association 101: 447–459. [Link]
Orsini, N. 2021. Weighted mixed-effects dose–response models for tables of correlated contrasts. Stata Journal 21:
320–347.
Pinheiro, J. C., and D. M. Bates. 2000. Mixed-Effects Models in S and S-PLUS. New York: Springer. [Link]
1007/b98882.
Raudenbush, S. W., B. J. Becker, and H. Kalaian. 1988. Modeling multivariate effect sizes. Psychological Bulletin 103:
111–120. [Link]
Riley, R. D., K. R. Abrams, A. J. Sutton, P. C. Lambert, and J. R. Thompson. 2007. Bivariate random-effects meta-
analysis and the estimation of between-study correlation. BMC Medical Research Methodology 7: art. 3. [Link]
org/10.1186/1471-2288-7-3.
Rose, C. J. 2024. Multivariate random-effects meta-analysis for sparse data using smvmeta. Stata Journal 24: 301–328.
Rosenthal, R., and D. B. Rubin. 1986. Meta-analytic procedures for combining studies with multiple effect sizes. Psy-
chological Bulletin 99: 400–406. [Link]
Seber, G. A. F., and A. J. Lee. 2003. Linear Regression Analysis. 2nd ed. Hoboken, NJ: Wiley. [Link]
9780471722199.
Sera, F., B. Armstrong, M. Blangiardo, and A. Gasparrini. 2019. An extended mixed-effects framework for meta-analysis.
Statistics in Medicine 38: 5429–5444. [Link]
Thompson, S. G., and S. J. Sharp. 1999. Explaining heterogeneity in meta-analysis: A comparison of methods. Statistics
in Medicine 18: 2693–2708. [Link]
van Houwelingen, H. C., L. R. Arends, and T. Stijnen. 2002. Advanced methods in meta-analysis: Multivariate approach
and meta-regression. Statistics in Medicine 21: 589–624. [Link]
White, I. R. 2011. Multivariate random-effects meta-regression: Updates to mvmeta. Stata Journal 11: 240–254.
———. 2016. “Multivariate random-effects meta-analysis”. In Meta-Analysis in Stata: An Updated Collection from the
Stata Journal, edited by T. M. Palmer and J. A. C. Sterne, 232–248. 2nd ed. College Station, TX: Stata Press.
Also see
[META] meta mvregress postestimation — Postestimation tools for meta mvregress
[META] meta regress — Meta-analysis regression
[META] meta summarize — Summarize meta-analysis data
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
meta mvregress postestimation — Postestimation tools for meta mvregress
Postestimation commands
The following postestimation commands are of special interest after meta mvregress:
Command Description
estat heterogeneity compute multivariate heterogeneity statistics
estat recovariance display the estimated random-effects covariance matrix
estat sd display variance components as standard deviations and correlations
Command Description
contrast contrasts and ANOVA-style joint tests of parameters
estat ic Akaike’s, consistent Akaike’s, corrected Akaike’s, and Schwarz’s Bayesian
information criteria (AIC, CAIC, AICc, and BIC, respectively)
estat summarize summary statistics for the estimation sample
estat vce variance–covariance matrix of the estimators (VCE)
estimates cataloging estimation results
etable table of estimation results
lincom point estimates, standard errors, testing, and inference for linear combinations
of parameters
margins marginal means, predictive margins, marginal effects, and average marginal
effects
marginsplot graph the results from margins (profile plots, interaction plots, etc.)
nlcom point estimates, standard errors, testing, and inference for nonlinear combi-
nations of parameters
predict predictions and their SEs, leverage statistics, etc.
predictnl point estimates, standard errors, testing, and inference for generalized predic-
tions
pwcompare pairwise comparisons of parameters
test Wald tests of simple and composite linear hypotheses
testnl Wald tests of nonlinear hypotheses
401
meta mvregress postestimation — Postestimation tools for meta mvregress 402
predict
Syntax for obtaining BLUPs of random effects and the BLUPs’ standard errors
predict [ type ] { stub* | newvarlist } [ if ] [ in ], reffects [ reses(resesspec)
revce(stub* | newvarlist ) ]
statistic Description
Main
xb linear prediction for the fixed portion of the model only; the default
stdp standard error of the fixed-portion linear prediction
fitted fitted values, fixed-portion linear prediction plus contributions based on
predicted random effects
residuals residuals, response minus fitted values
rstandard standardized residuals
These statistics are available both in and out of sample; type predict ... if e(sample) ... if wanted
only for the estimation sample.
residuals calculates the residuals, which are equal to the responses minus the fitted values for the
specified dependent variable. With fixed-effects multivariate meta-regression or with random-effects
multivariate meta-regression when option fixedonly is also specified, it calculates 𝜃𝑖𝑗̂ −x β ̂
𝑗 𝑖 . The
former is known as marginal residuals in the context of the random-effects model. For random-effects
multivariate meta-regression without fixedonly, this option calculates 𝜃𝑖𝑗̂ − (x β
̂
𝑗 𝑖 + 𝑢̂𝑖𝑗 ), which are
known as conditional residuals.
rstandard calculates the standardized residuals that, for the specified dependent variable #𝑖, are equal
to the 𝑖th component of the residuals multiplied by the inverse square root of the within-study co-
−1/2
variance matrices, 𝚲𝑗 𝑗̂ . With fixed-effects multivariate meta-regression or with random-effects
multivariate meta-regression with fixedonly, 𝜖𝑖𝑗̂ = 𝜃𝑖𝑗 ̂ −x β ̂ . For random-effects multivariate
𝑗 𝑖
̂ − (x β
meta-regression without fixedonly, 𝜖𝑖𝑗̂ = 𝜃𝑖𝑗 ̂
𝑗 𝑖 + 𝑢̂𝑖𝑗 ).
fixedonly specifies that all random effects be set to zero, equivalent to using only the fixed portion of
the model. This option is allowed only with options fitted, residuals, and rstandard.
depvar(depname | ##) specifies the dependent (outcome) variable of interest.
depvar() is filled in with one depname or ## for the xb, stdp, fitted, residuals, and rstandard
options. depvar(#1) would mean the calculation is to be made for the first outcome, depvar(#2)
would mean the second, and so on. You could also refer to the outcomes by their variable
names. depvar(sensitivity) would refer to the dependent variable named sensitivity and
depvar(specificity) to the dependent variable named specificity.
If you do not specify depvar(), results are the same as if you specified depvar(#1).
reffects calculates BLUPs of the random effects. You must specify 𝑑 new variables, where 𝑑 is the
number of random-effects terms in the model, which is equal to the number of depvars. However, it
is much easier to just specify stub* and let Stata name the variables stub1, stub2, . . . , stub𝑑 for you.
reses(resesspec) calculates the standard errors of the random effects; see the reffects option. This
option may not be combined with option revce(). The syntax for resesspec is
stub* | newvarlist[ , comparative | diagnostic ]
comparative, the default, computes comparative random-effects standard errors. For linear mod-
els, these correspond to posterior standard deviations of random effects and to standard errors of
marginal prediction errors û𝑗 − u𝑗 . These standard errors are used for inference about the random
effects.
diagnostic computes diagnostic random-effects standard errors. These correspond to marginal stan-
dard errors of BLUPs, SE(u𝑗̂ ). These standard errors are used for model diagnostics.
You must specify 𝑑 new variables, where 𝑑 is the number of random-effects terms in the model.
However, it is much easier to just specify stub* and let Stata name the variables stub1, stub2, . . . ,
stub𝑑 for you. The new variables will have the same storage type as the corresponding random-effects
variables.
revce(stub* | newvarlist ) calculates the variances and covariances of the BLUPs of the random effects;
see option reffects. This option may not be combined with option reses().
You must specify 𝑞 = 𝑑(𝑑 + 1)/2 new variables, where 𝑑 is the number of random-effects terms in
the model. However, it is much easier to just specify stub* and let Stata name the variables stub1,
stub2, . . . , stub𝑞 for you. The new variables will have the same storage type as the corresponding
random-effects variables.
meta mvregress postestimation — Postestimation tools for meta mvregress 404
The reffects and reses() options generate 𝑑 new variables at once. The random effects (or stan-
dard errors) contained in the generated variables correspond to the order in which the dependent vari-
ables, depvars, are specified with meta mvregress. Option revce() generates 𝑑(𝑑 + 1)/2 variables
at once. The generated variables correspond to the same order in which you specify variables in op-
tion wcovvariables() with meta mvregress. Still, examining the variable labels of the generated
variables (with the describe command, for instance) can be useful in deciphering which variables
correspond to which terms in the model.
margins
statistic Description
xb linear predictor for the fixed portion of the model only; the default
fitted fitted values; implies fixedonly
stdp not allowed with margins
residuals not allowed with margins
standard not allowed with margins
reffects not allowed with margins
xb and fitted default to the first outcome.
Statistics not allowed with margins are functions of stochastic quantities other than e(b).
For the full syntax, see [R] margins.
y1
_cons 1.154606 .1855479 6.22 0.000 .7909387 1.518273
y2
_cons 1.963801 .5413727 3.63 0.000 .9027297 3.024872
Independent:
sd(y1) .4310376
sd(y2) 1.544806
Below, we predict the random effects using predict, reffects and obtain their diagnostic standard
errors by specifying the reses(, diagnostic) option. Because we have two random-effects in our
model (one for each outcome), we need to specify two new variable names with predict and two new
variable names within reses(). Alternatively, it is much easier to specify a stubname, say, u*, and
predict will construct variables u1 and u2 for you. This way you do not have to worry about specifying
the correct number of variables with predict. We will also specify a stubname, u se*, within reses().
And we will use suboption diagnostic of the reses() option to request the diagnostic standard errors
instead of the default comparative standard errors. The diagnostic standard errors are used for model
diagnostics (Goldstein 2011; Skrondal and Rabe-Hesketh 2009).
meta mvregress postestimation — Postestimation tools for meta mvregress 406
We listed the random-effects variables u1 and u2 with their corresponding standard error variables se u1
and se u2. The random effects are study-specific deviations from the overall mean effect size. For
example, for study 2 and outcome y1, the predicted logit-sensitivity is 0.1098 higher than the overall
logit-sensitivity 𝜃1̂ = 1.155. We also show the mean (average) of variables u1 and u2 at the bottom. Note
that the means of these study-specific deviations are close to 0, which is expected because 𝐸(𝑢𝑖𝑗 ) = 0.
Instead of reses(), you may specify the revce() option to obtain the full variance–covariance
matrix of the predicted random effects instead of only the standard errors.
Let’s use the predicted random effects and their diagnostic standard errors to compute standardized
random-effects variables, ustan1 and ustan2, to check for outliers. We will use the qnorm command
(see [R] Diagnostic plots) to obtain the normal quantile plot.
meta mvregress postestimation — Postestimation tools for meta mvregress 407
2 2
3
1 1
Std. predicted random effects u1
8 9
0 1 0
2 6
3
-1 -1
4
-2 7 -2 10
-2 -1 0 1 2 -2 -1 0 1 2
Inverse normal Inverse normal
From the plots, study 7 for outcome y1 and study 10 for outcome y2 appear to be outliers. Study
7 has a sensitivity value of invlogit(y1[7]) = invlogit(.1866) ≈ 54.65%, which is sub-
stantively lower than sensitivities of the other studies. Similarly, study 10 has a specificity value of
invlogit(y2[10]) = invlogit(-1.145) ≈ 24.14%.
meta mvregress postestimation — Postestimation tools for meta mvregress 408
2 6
3
1.5 4 5
10
68
2 9 4
1
Fitted values
Fitted values
1 7
89
1 2
5
26
4
.5 7 0
10
0 -2
0 .5 1 1.5 2 -2 0 2 4 6
Observed values y1 Observed values y2
In the above code, we computed the fitted values for each dependent variable using predict, fitted
depvar(). We then produced scatterplots of the fitted values versus the observed values of y1 and y2,
respectively. We added a reference line 𝑦 = 𝑥 to assess goodness of fit. Studies that are close to the
reference line have their fitted values close to the observed values. Overall, it seems that goodness of fit
is better for outcome y2.
You could also use the rstandard option with predict to compute standardized residuals. In theory,
the standardized residuals are useful for checking the normality assumption. But because the number of
studies is often small (for instance, only 10 in our example), standardized residuals are typically of limited
use in practice with multivariate meta-regression.
meta mvregress postestimation — Postestimation tools for meta mvregress 409
The following formulas are used by predict. The notation is based on Methods and formulas of
[META] meta mvregress.
θ̂𝑗 = X𝑗 β + u𝑗 + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
̂ + 𝚲𝑗 )−1 .
where W∗𝑗 = (𝚺
The formulas below apply to outcome 𝑖, as specified in the depvar() option, for 𝑖 = 1, . . . , 𝑑 and
study 𝑗 for 𝑗 = 1, . . . , 𝐾.
̂∗ .
The fixed portion of the linear predictor (option xb) is x𝑗 β 𝑖
The estimated standard error of the fixed portion of the linear predictor (option stdp) is
√⎧ −1
⎫
∗ √{ 𝐾
}
̂ ̂
SE (x𝑗 β𝑖 ) = √ X𝑗 (∑ X𝑙 W𝑙 X𝑙 ) X′𝑗
′ ∗
⎨
{ ⎬
}
⎷⎩ 𝑙=1 ⎭𝑖𝑖
where A𝑖𝑖 denotes the 𝑖th diagonal of matrix A.
The BLUP of a 𝑑 × 1 random-effects vector u𝑗 (option reffects) is
̂∗ )
̂ ∗𝑗 (θ̂𝑗 − X𝑗 β
û𝑗 = 𝚺W
When the reses() option is specified with reffects, the estimated covariance matrix of u𝑗̂ − u𝑗 is
computed:
̂ (û𝑗 − u𝑗 ) = 𝚺
Var ̂ − 𝚺W ̂∗ )X′ } W∗ 𝚺
̂ ∗𝑗 {(W∗𝑗 )−1 − X𝑗 Var(β ̂
𝑗 𝑗
The comparative standard errors of the random effects can be obtained by taking the square root of the
̂ u𝑗̂ − u𝑗 ).
diagonal elements of Var(
If the diagnostic suboption is specified within reses(), then the estimated covariance matrix of
û𝑗 is computed:
̂ ∗𝑗 {(W∗𝑗 )−1 − X𝑗 Var(β
̂ (û𝑗 ) = 𝚺W
Var ̂∗ )X′ } W∗ 𝚺̂
𝑗 𝑗
meta mvregress postestimation — Postestimation tools for meta mvregress 410
The diagnostic standard errors of the random effects can be obtained by taking the square root of the
̂ (û𝑗 ).
diagonal elements of Var
See Goldstein (2011), Skrondal and Rabe-Hesketh (2009), and Rabe-Hesketh and Skrondal (2022)
for more details.
̂ û𝑗 )
The revce() option generates variables corresponding to the variances and covariances in the Var(
matrix.
The fitted value (option fitted) is
𝜃𝑖𝑗 ̂∗
̃ =x β
𝑗 𝑖 + 𝑢̂𝑖𝑗
−1/2
The standardized residual (option rstandard) is the 𝑖th element of the 𝑑 × 1 vector 𝚲𝑗 𝑗̂ ,
−1/2
𝜖𝑖𝑗̃ = (𝚲𝑗 𝑗̂ )
𝑖
θ̂𝑗 = X𝑗 β + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
with a 𝑑 × 𝑑𝑝 design matrix X𝑗 = x𝑗 ⊗ 𝐼𝑑 and a 𝑑𝑝 × 1 vector β = (β′1 , β′2 , . . . , β′𝑑 )′ of all unknown
regression coefficients.
Let W𝑗 = 𝚲−1
𝑗 . The fixed-effects estimator for regression coefficients is
𝐾 −1 𝐾
̂ = (∑ X′ W𝑗 X𝑗 ) ∑ X′ W𝑗 θ̂𝑗
β 𝑗 𝑗
𝑗=1 𝑗=1
̂
The linear predictor (option xb) is x𝑗 β.
The estimated standard error of the linear predictor (option stdp) is
√ −1
√
√
𝐾
S ̂
̂E (x𝑗 β ) = X𝑗 (∑ X𝑙 W𝑙 X𝑙 ) X′𝑗
′
𝑖
⎷ 𝑙=1
The fitted value (option fitted) is the same as the linear predictor:
̃ =x β
𝜃𝑖𝑗 ̂
𝑗 𝑖
meta mvregress postestimation — Postestimation tools for meta mvregress 411
−1/2
The standardized residual (option rstandard) is the 𝑖th element of a 𝑑 × 1 vector 𝚲𝑗 𝑗̂ ,
−1/2
𝜖𝑖𝑗̃ = (𝚲𝑗 𝑗̂ )
𝑖
References
Goldstein, H. 2011. Multilevel Statistical Models. 4th ed. Chichester, UK: Wiley. [Link]
Rabe-Hesketh, S., and A. Skrondal. 2022. Multilevel and Longitudinal Modeling Using Stata. 4th ed. College Station, TX:
Stata Press.
Skrondal, A., and S. Rabe-Hesketh. 2009. Prediction in multilevel generalized linear models. Journal of the Royal Statis-
tical Society, A ser., 172: 659–687. [Link]
Also see
[META] meta mvregress — Multivariate meta-regression
[META] meta — Introduction to meta
[META] Glossary
[META] Intro — Introduction to meta-analysis
[U] 20 Estimation and postestimation commands
estat group — Summarize the composition of the nested groups
Description
estat group reports the number of groups and minimum, average, and maximum group sizes for
each level of the model. Model levels are identified by the corresponding group variable in the data.
Because groups are treated as nested, the information in this summary may differ from what you would
get if you used the tabulate command on each group variable individually. estat group is available
only after commands meta meregress and meta multilevel.
Syntax
estat group
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta multilevel — Multilevel random-intercepts meta-regression
[U] 20 Estimation and postestimation commands
412
estat heterogeneity (me) — Compute multilevel heterogeneity statistics
Description
estat heterogeneity computes multilevel heterogeneity statistics after multilevel meta-regression
fit by meta multilevel or meta meregress.
Syntax
estat heterogeneity [ , relevel(levelvar) ]
Option
Main
relevel(levelvar) displays the amount of the total heterogeneity that can be attributed to a specific level
of hierarchy defined by levelvar. This option affects the multilevel Higgins–Thompson 𝐼 2 statistic.
413
estat heterogeneity (me) — Compute multilevel heterogeneity statistics 414
See example 3 of [META] meta meregress for assessing heterogeneity in multilevel meta-analysis
models.
Stored results
estat heterogeneity stores the following in r():
Scalars
r(I2 Q) Cochran 𝐼Q2 heterogeneity statistic
Matrices
r(I2 HT) 2
Higgins–Thompson 𝐼HT 2
and 𝐼HT, 𝑙 heterogeneity statistics
(3) (2)
where 𝑢𝑗 ∼ 𝑁 (0, 𝜏32 ) and 𝑢𝑗𝑘 ∼ 𝑁 (0, 𝜏22 ). Let X𝑗 , θ̂𝑗 , and 𝑗 be defined as in Methods and formulas
of [META] meta meregress, and then the model can be written in matrix form as
𝑄M − 𝑛 + 𝑝
𝐼Q2 = 100 × max (0, )
𝑄M
estat heterogeneity (me) — Compute multilevel heterogeneity statistics 415
One drawback of the Cochran statistic is that it assesses only the impact of heterogeneity jointly for all
levels of hierarchy. It may be of interest to separately investigate the extent of each level of hierarchy’s
contribution to the total variability. This will be possible with the heterogeneity statistics discussed below.
2 𝜏𝑙̂2
𝐼HT, 𝑙 = , 𝑙 = 2, 3
𝜏2̂2 + 𝜏3̂2 + 𝑠2HT
2 𝜏2̂2 + 𝜏3̂2
𝐼HT =
𝜏2̂2 + 𝜏3̂2 + 𝑠2HT
where 𝜏𝑙̂2 is the estimated variance of the random intercepts at level 𝑙 = 2, 3 and 𝑠2HT is defined below.
When option relevel(levelvar) is specified, then only 𝐼HT, 2
𝑙 is reported by estat heterogeneity,
where 𝑙 corresponds to the level identified by variable levelvar.
Let 𝑋 = (X′1 , X′2 , . . . , X𝑀 )′ and 𝚲 = ⊕𝑀 2
𝑗=1 𝚲𝑗 . The level-1 variance 𝑠HT is computed similarly to 𝑠
2
in Residual heterogeneity measures in Methods and formulas in [META] meta regress and is given by
𝑛−𝑝
𝑠2HT =
tr(P)
where 𝑛 = ∑𝑀
𝑗=1
𝑚𝑗 is the total number of observations and
−1
P = 𝚲−1 − 𝚲−1 X (X′ 𝚲−1 X) X′ 𝚲−1 .
2 2 2
The 𝐼HT, 𝑙 and 𝐼HT statistics reduce to 𝐼res reported by (4) in Methods and formulas of [META] meta
regress when there are two levels of hierarchy in the model.
References
Cheung, M. W.-L. 2014. Modeling dependent effect sizes with three-level meta-analyses: A structural equation modeling
approach. Psychological Methods 19: 211–229. [Link]
Nakagawa, S., and E. S. A. Santos. 2012. Methodological issues and advances in biological meta-analysis. Evolutionary
Ecology 26: 1253–1274. [Link]
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta multilevel — Multilevel random-intercepts meta-regression
[U] 20 Estimation and postestimation commands
estat heterogeneity (mv) — Compute multivariate heterogeneity statistics
Description
estat heterogeneity computes multivariate heterogeneity statistics after a random-effects mul-
tivariate meta-regression fit by meta mvregress. By default, the multivariate Cochran and Jack-
son–White–Riley heterogeneity statistics are computed, but the White statistic is also available.
Syntax
estat heterogeneity [ , statistics ]
statistics Description
Main
cochran Cochran statistics; the default
jwriley[ (depnames) ] Jackson–White–Riley statistics; the default for
all dependent variables
white White statistics
all all heterogeneity statistics
You may specify one or multiple statistics simultaneously.
collect is allowed; see [U] 11.1.10 Prefix commands.
Options
Main
416
estat heterogeneity (mv) — Compute multivariate heterogeneity statistics 417
jwriley computes the Jackson–White–Riley heterogeneity statistics jointly for all dependent vari-
ables and separately for each dependent variable. For example, if you have three dependent vari-
ables y1, y2, and y3, then the Jackson–White–Riley heterogeneity statistics are computed sepa-
2
rately for each variable and jointly for all variables, resulting in four 𝐼JWR statistics and four 𝑅JWR
statistics.
jwriley(depnames) computes the Jackson–White–Riley statistics jointly for the specified depen-
dent variables depnames. For example, if you have three dependent variables y1, y2, and y3, you
may specify jwriley(y1 y2) to compute heterogeneity statistics based on dependent variables
y1 and y2 jointly.
white specifies that White 𝐼 2 statistics be computed. These statistics are available only separately for
each dependent variable. With one dependent variable, the White 𝐼 2 statistic reduces to the univariate
𝐼 2 statistic as reported by [META] meta summarize or [META] meta regress.
all specifies that all heterogeneity statistics be reported. This option implies cochran, jwriley, and
white.
The jwriley option displays the Jackson–White–Riley heterogeneity statistics separately for each de-
pendent variable and jointly for all dependent variables. See example 4 of [META] meta mvregress for
the interpretation of these statistics.
One feature that is unique to the Jackson–White–Riley heterogeneity statistics is the possibility of
assessing heterogeneity jointly for a subset of dependent variables. Below, we specify the jwriley(yb
yc) option to assess heterogeneity jointly for these two dependent variables.
estat heterogeneity (mv) — Compute multivariate heterogeneity statistics 418
The value of 𝐼 2 is 86.02%, which suggests that there is considerable heterogeneity among the effect
sizes corresponding to these variables; see example 4 of [META] meta mvregress for details about the
2
interpretation of 𝐼JWR and 𝑅JWR .
Stored results
estat heterogeneity stores the following in r():
Scalars
r(I2 Q) Cochran 𝐼 2 heterogeneity statistic (option cochran)
r(H2) 𝐻 2 heterogeneity statistic (option cochran)
Matrices
r(R) Jackson–White–Riley 𝑅 heterogeneity statistics (option jwriley)
r(I2 JWR) Jackson–White–Riley 𝐼 2 heterogeneity statistics (option jwriley)
r(I2 W) White 𝐼 2 heterogeneity statistics (option white)
θ̂𝑗 = X𝑗 β + u𝑗 + 𝑗 , 𝑗 ∼ 𝑁𝑑 (0, 𝚲𝑗 )
𝐾 −1 𝐾
̂∗ = (∑ X′ W∗ X𝑗 ) ∑ X′ W∗ θ̂𝑗
β 𝑗 𝑗 𝑗 𝑗
𝑗=1 𝑗=1
𝐾 −1
∗
̂ ) = (∑ X′ W∗ X𝑗 )
Var(β (1)
𝑗 𝑗
𝑗=1
estat heterogeneity (mv) — Compute multivariate heterogeneity statistics 419
Let W𝑗 = 𝚲−1
𝑗 . The fixed-effects estimator for regression coefficients is
𝐾 −1 𝐾
̂ = (∑ X′ W𝑗 X𝑗 ) ∑ X′ W𝑗 θ̂𝑗
β 𝑗 𝑗
𝑗=1 𝑗=1
𝐾 −1
̂ = (∑ X′ W𝑗 X𝑗 )
Var(β) (2)
𝑗
𝑗=1
where 𝑄M = ∑𝐾 (θ̂ − X𝑗 β)
𝑗=1 𝑗
̂ ′ W𝑗 (θ̂𝑗 − X𝑗 β).
̂
One drawback of the Cochran statistics is that they assess only the impact of heterogeneity jointly for
all outcomes. It may be of interest to investigate separately the extent of each outcome’s contribution to
the total variability. This will be possible with all heterogeneity statistics discussed below.
estat heterogeneity (mv) — Compute multivariate heterogeneity statistics 420
In what follows, we will define the JWR 𝑅 and 𝐼 2 statistics in terms of these determinants.
For all outcome jointly, the JWR 𝑅 and 𝐼 2 statistics are given by
1/2𝑑𝑝
⎧ ̂∗
{ ∣Var(β )∣ ⎫
} ∗
̂ )∣ ∣Var(β)∣
̂ −1 1/2𝑑𝑝
𝑅JWR =⎨ = {∣Var(β }
{ ∣Var(β)∣ ⎬
̂ }
⎩ ⎭
∗ 1/𝑑𝑝 1/𝑑𝑝
̂ ̂
⎛ ∣Var(β )∣ − ∣Var(β)∣ ⎞ 2
𝑅JWR −1
2
𝐼JWR = 100 × max ⎜
⎜0, 1/𝑑𝑝
⎟
⎟ = 100 × max (0, 𝑅2 )
̂∗ )∣
∣Var(β JWR
⎝ ⎠
∗
̂ ) and Var(β)
where Var(β ̂ are the estimated covariance matrices of the regression coefficients under the
random-effects and fixed-effects models, defined in (1) and (2), respectively.
For each outcome 𝑖, the expressions for the JWR statistics are
∗ −1 1/2𝑝
̂ )∣ ∣Var(β
𝑅JWR, 𝑖 = {∣Var(β ̂ )∣ }
𝑖 𝑖
2
2
𝑅JWR, 𝑖−1
𝐼JWR, 𝑖 = 100 × max (0, 2
)
𝑅JWR, 𝑖
̂∗ and β
where β ̂ represent the set of regression coefficients corresponding to the subset {𝑠} and 𝜈 is
{𝑠} {𝑠}
the number of the corresponding estimated regression coefficients.
where 𝚺̂ 𝑖𝑖 is the 𝑖th diagonal element of the estimated between-study covariance matrix 𝚺
̂ described in It-
erative methods for computing 𝚺 and Noniterative method for computing 𝚺 of [META] meta mvregress.
The typical within-study variance 𝑠2W, 𝑖 is computed from a univariate meta-regression of the 𝑖th out-
come on the moderators. Therefore, 𝑠2W, 𝑖 is computed in the same way as 𝑠2 in Residual heterogeneity
measures in Methods and formulas in [META] meta regress and is given by
𝑛𝑖 − 𝑝
𝑠2W, 𝑖 =
tr(P)
where 𝑛𝑖 is the number of observations on outcome 𝑖, which equals 𝐾 if there are no missing values,
and P is given by (1) in Methods and formulas of [META] meta regress, with A = W being the 𝑛𝑖 × 𝑛𝑖
diagonal matrix containing inverse-variance weights for outcome 𝑖.
2 2
The 𝐼W, 𝑖 statistic reduces to 𝐼res reported by (4) in Methods and formulas of [META] meta regress
when 𝑑 = 1.
References
Higgins, J. P. T., and S. G. Thompson. 2002. Quantifying heterogeneity in a meta-analysis. Statistics in Medicine 21:
1539–1558. [Link]
Jackson, D., I. R. White, and R. D. Riley. 2012. Quantifying the impact of between-study heterogeneity in multivariate
meta-analyses. Statistics in Medicine 31: 3805–3820. [Link]
White, I. R. 2011. Multivariate random-effects meta-regression: Updates to mvmeta. Stata Journal 11: 240–254.
Also see
[META] meta mvregress — Multivariate meta-regression
[META] meta mvregress postestimation — Postestimation tools for meta mvregress
[U] 20 Estimation and postestimation commands
estat recovariance — Display estimated random-effects covariance matrices
Description
estat recovariance is for use after a random-effects multivariate meta-regression fit by meta
mvregress or a multilevel meta-regression model fit by meta meregress or meta multilevel. It
displays the estimated variance–covariance matrix of the random effects.
Syntax
estat recovariance [ , relevel(levelvar) correlation matlist options ]
Options
relevel(levelvar) specifies the level in the model for which the random-effects covariance matrix is to
be displayed. By default, the covariance matrices for all levels in the model are displayed. levelvar is
the name of the variable describing the grouping at that level. This option is not supported after meta
mvregress.
correlation displays the covariance matrix as a correlation matrix.
matlist options are style and formatting options that control how the matrix (or matrices) is displayed;
see [P] matlist for a list of options that are available.
422
estat recovariance — Display estimated random-effects covariance matrices 423
Stored results
estat recovariance stores the following in r():
Scalars
r(relevels) number of levels
Matrices
r(Cov#) level-# random-effects covariance matrix
r(cov) random-effects covariance matrix (after meta mvregress)
r(Corr#) level-# random-effects correlation matrix (if option correlation was specified)
r(corr) random-effects correlation matrix (after meta mvregress and if option correlation was
specified)
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta mvregress postestimation — Postestimation tools for meta mvregress
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta multilevel — Multilevel random-intercepts meta-regression
[META] meta mvregress — Multivariate meta-regression
[U] 20 Estimation and postestimation commands
estat sd — Display variance components as standard deviations and correlations
Description
estat sd displays the random-effects estimates as standard deviations and correlations. estat sd is
available only after a random-effects multivariate meta-regression fit by meta mvregress or a multilevel
meta-regression model fit by meta meregress or meta multilevel.
Syntax
estat sd [ , variance verbose post coeflegend ]
Options
variance specifies that estat sd display the random-effects parameter estimates as variances and co-
variances. If the post option is specified, the estimated variances and covariances are posted to e().
verbose specifies that the full estimation table be displayed. By default, only the random-effects pa-
rameters are displayed. This option is implied when post is specified.
post causes estat sd to behave like a Stata estimation (e-class) command. estat sd posts the vector
of calculated standard deviation and correlation parameters to e(), so that you can treat the estimated
parameters just as you would results from any other estimation command.
424
estat sd — Display variance components as standard deviations and correlations 425
Stored results
estat sd stores the following in r():
Matrices
r(b) coefficient vector
r(V) variance–covariance matrix of the estimators
r(table) table of results
Note: After meta mvregress, either the verbose or the post option must be specified for r(table)
to be stored.
Also see
[META] meta me postestimation — Postestimation tools for multilevel mixed-effects meta-analysis
[META] meta mvregress postestimation — Postestimation tools for meta mvregress
[META] meta meregress — Multilevel mixed-effects meta-regression
[META] meta multilevel — Multilevel random-intercepts meta-regression
[META] meta mvregress — Multivariate meta-regression
[U] 20 Estimation and postestimation commands
Glossary
Begg test, Begg and Mazumdar test. A nonparametric rank correlation test for funnel-plot asymmetry
of Begg and Mazumdar (1994). It tests whether Kendall’s rank correlation between the effect sizes
and their variances equals zero. The regression-based tests such as the tend to perform better in terms
of type I error than the rank correlation test. This test is no longer recommended in the literature and
provided mainly for completeness. See [META] meta bias.
between-study covariance matrix. In the context of multivariate meta-regression, the between-study
covariance matrix, 𝚺, is the covariance matrix of the random effects. It models heterogeneity between
studies. By default, no structure is assumed when estimating 𝚺, but several covariance structures may
be considered; see Random-effects covariance structures in Methods and formulas in [META] meta
mvregress.
between-study sample size. The number of studies in a meta-analysis.
between-study variability. Also known as between-study heterogeneity; see heterogeneity.
BLUPs. BLUPs are best linear unbiased predictions of either random effects or linear combinations of
random effects. In linear models containing random effects, these effects are not estimated directly
but instead are integrated out of the estimation. Once the fixed effects and variance components
have been estimated, you can use these estimates to predict group-specific random effects. These
predictions are called BLUPs because they are unbiased and have minimal mean squared errors among
all linear functions of the response.
bubble plot. A scatterplot of effect size against a continuous covariate (moderator) in the meta-
regression. The size of points representing the studies is proportional to study weights from a fixed-
effects or, optionally, random-effects meta-analysis.
clinical heterogeneity. According to Deeks, Higgins, and Altman (2017), it is “variability in the partic-
ipants, interventions and outcomes studied”. Clinical variation will lead to heterogeneity if the effect
size is affected by any of these varying factors.
Cochran’s 𝑄 statistic. See 𝑄 statistic.
Cohen’s 𝑑. An effect-size measure introduced by Cohen (1988) for a two-group comparison of con-
tinuous outcomes. It is a standardized mean difference where the difference between the two group
means is usually divided by the standard deviation pooled across both groups. See Standardized mean
difference of Methods and formulas in [META] meta esize.
combined effect size. See overall effect size.
common-effect meta-analysis model. A meta-analysis model that assumes that a single (common)
true effect size underlies all the primary study results. See Common-effect (“fixed-effect”) model in
[META] Intro.
correlation data. Meta-analysis of correlation data deals with aggregating evidence about the correlation
between two variables of interest. Each study must report the correlation coefficient and the study
sample size to estimate the overall correlation.
cumulative meta-analysis. Cumulative meta-analysis performs multiple meta-analyses by accumulat-
ing studies one at a time. The studies are first ordered with respect to the variable of interest, the
ordering variable. Meta-analysis summaries are then computed for the first study, for the first two
studies, for the first three studies, and so on. The last meta-analysis will correspond to the standard
meta-analysis using all studies. See [META] meta summarize.
426
Glossary 427
cumulative overall effect sizes. In the context of cumulative meta-analysis, cumulative (overall) effect
sizes refer to the overall effect sizes computed by accumulating one study at a time. That is, the first
overall effect size is simply the individual effect size of the first study. The second overall effect
size is the overall effect size computed based on the first two studies. The third overall effect size
is the overall effect size computed based on the first three studies. And so on. The last effect size
in a cumulative meta-analysis corresponds to the overall effect size computed using all studies in a
standard meta-analysis.
DerSimonian–Laird’s method. A noniterative, random-effects estimator of the between-study variance
parameter that does not make any assumptions about the distribution of random effects. This method
was introduced in DerSimonian and Laird (1986). Historically, random-effects meta-analysis has
been based solely on this method. See Noniterative methods of Methods and formulas in [META] meta
summarize.
effect size. A numerical summary of the group differences or of association between factors. For ex-
ample, effect sizes for two-group comparisons include standardized and unstandardized mean differ-
ences, odds ratio, risk ratio, hazard ratio, and correlation coefficient. See [META] meta esize.
effect-size standard errors. See sampling standard errors.
effect-size variances. See sampling variances.
Egger test. A regression-based test for funnel-plot asymmetry of (Egger et al. 1997). This is the test of a
slope coefficient in a weighted regression of the effect sizes on their standard errors. See [META] meta
bias.
Fisher’s 𝑧 transformation. A transformation introduced by Fisher (1921). In the context of meta-
analysis, it is applied to correlations to stabilize their variances—the variance of a transformed corre-
lation does not depend on the sample correlation. This transformation also leads to a CI between −1
and 1 for the correlation in each study.
fixed-effects meta-analysis model. A meta-analysis model that assumes effect sizes are different across
the studies and estimates a weighted average of their true values. This model is not valid for making
inferences about studies beyond those included in the meta-analysis. See Fixed-effects model in
[META] Intro.
fixed-effects meta-regression. Meta-regression that assumes a fixed-effects meta-analysis model. This
regression model does not account for residual heterogeneity. See Introduction in [META] meta
regress.
forest plot. A forest plot is a graphical representation of the results of a meta-analysis. In addition
to meta-analytic summary such as overall effect size and its confidence interval and heterogeneity
statistics and tests, it includes study-specific effect sizes and confidence intervals. See [META] meta
forestplot.
Freeman–Tukey transformation. A transformation introduced by Freeman and Tukey (1950). In the
context of meta-analysis, it is applied to proportions to stabilize their variances—the variance of a
transformed proportion does not depend on the number of events. This transformation also leads to a
CI between 0 and 1 for the proportion in each study. And it does not require a continuity correction
when a study has zero events (successes) or failures.
funnel plot. The funnel plot is a scatterplot of the study-specific effect sizes against measures of study
precision. This plot is commonly used to explore small-study effects or publication bias. In the
absence of small-study effects, the shape of the scatterplot should resemble a symmetric inverted
funnel. See [META] meta funnelplot.
Glossary 428
Galbraith plot. The Galbraith plot is a scatterplot of the standardized effect sizes (𝑧 scores) against
precision (inverse standard errors). It is commonly used to assess heterogeneity and for detecting
potential outliers. When the number of studies is so large that it becomes inconvenient to present
the results on a forest plot, the Galbraith plot provides a good alternative to report the meta-analysis
results.
Glass’s Δ. An effect-size measure introduced by Smith and Glass (1977) for a two-group comparison
of continuous outcomes. It is a standardized mean difference where the difference between the two
group means is divided by the sample standard deviation of the control group. Another variation of
this statistic uses the sample standard deviation of the treatment group for the standardization. See
Standardized mean difference of Methods and formulas in [META] meta esize.
grey literature. In the context of meta-analysis, grey literature refers to the literature that is difficult to
obtain; it is thus rarely included in a meta-analysis.
H2 statistic. A statistic for assessing heterogeneity. A value of 𝐻 2 = 1 indicates perfect homogeneity
among the studies. See Heterogeneity measures of Methods and formulas in [META] meta summa-
rize.
Hedges’s 𝑔. An effect-size measure introduced by Hedges (1981) for a two-group comparison of con-
tinuous outcomes. It is a Cohen’s 𝑑 statistic adjusted for bias. See Standardized mean difference of
Methods and formulas in [META] meta esize.
heterogeneity. In a meta-analysis, statistical heterogeneity, or simply heterogeneity, refers to the vari-
ability between the study-specific effect sizes that cannot be explained by a random variation. See
Heterogeneity in [META] Intro.
heterogeneity parameter. In a random-effects meta-analysis, the variance of the random effects, 𝜏 2 ,
is used to account for the between-study heterogeneity. It is often referred to as the “heterogeneity
parameter”.
homogeneity. The opposite of heterogeneity.
homogeneity test. A test based on Cochran’s 𝑄 statistic for assessing whether effect sizes from studies
in a meta-analysis are homogeneous. See Homogeneity test of Methods and formulas in [META] meta
summarize.
I2 statistic. A statistic for assessing heterogeneity. It estimates the proportion of variation between the
effect sizes due to heterogeneity relative to the pure sampling variation. 𝐼 2 > 50 indicates substantial
heterogeneity. See Heterogeneity measures of Methods and formulas in [META] meta summarize for
a standard meta-analysis. Also see Multilevel heterogeneity statistics in [META] estat heterogeneity
(me) and [META] estat heterogeneity (mv) for multilevel and multivariate meta-analysis models.
intervention effects. See effect size.
inverse-variance method. A method of estimating the overall effect size as a weighted average of the
study-specific effect sizes by using the weights that are inversely related to the variance (Whitehead
and Whitehead 1991). This method is applicable to all meta-analysis models and all types of effect
sizes.
Jackson–White–Riley method. In the context of multivariate meta-regression, the Jack-
son–White–Riley method provides a noniterative random-effects estimator of the between-study co-
variance matrix 𝚺. This method was introduced by Jackson, White, and Riley (2013) and can be
thought of as an extension of the univariate DerSimonian–Laird method to the multivariate setting.
Glossary 429
L’Abbé plot. A scatterplot of the summary outcome measure such as log odds in the control group on
the 𝑥 axis and of that in the treatment group on the 𝑦 axis. It is used with a two-group comparison of
binary outcomes to inspect the range of group-level summary outcome measures among the studies
to identify excessive heterogeneity. See [META] meta labbeplot.
large-strata limiting model. A model assumption for two-sample binary data in which the number of
studies remains fixed but similar cell sizes in the 2 × 2 tables increase. See Robins, Breslow, and
Greenland (1986).
leave-one-out meta-analysis. The leave-one-out meta-analysis performs multiple meta-analyses, where
each analysis is produced by excluding a single study. It is a useful tool to assess the influence of a
single study on the meta-analysis results and for identifying potential outliers.
Mantel–Haenszel method. In the context of meta-analysis, the Mantel–Haenszel method combines
odds ratios, risk ratios, and risk differences. This method performs well in the presence of sparse data.
For nonsparse data, its results are similar to those of the inverse-variance method. It was introduced
by Mantel and Haenszel (1959) for odds ratios and extended to risk ratios and risk differences by
Greenland and Robins (1985). See Mantel–Haenszel method for two-group comparison of binary
outcomes of Methods and formulas in [META] meta summarize.
meta data. meta data are the data that were meta set (or declared) by either meta set or meta esize.
meta data store key variables and characteristics about your meta-analysis specifications, which will
be used by all meta commands during your meta-analysis session. Thus, declaration of your data as
meta data is the first step of your meta-analysis in Stata. This step helps minimize mistakes and saves
you time—you need to specify the necessary information only once. Also see [META] meta data.
meta settings. Meta settings refers to the meta-analysis information specified during the declaration
of the meta data via meta set or meta esize. This includes the declared effect size, meta-analysis
model, estimation method, confidence level, and more. See Declaring meta-analysis information in
[META] meta data for details.
meta-analysis. The statistical analysis that combines quantitative results from multiple individual studies
into a single result. It is often performed as part of a systematic review. See Brief overview of meta-
analysis in [META] Intro.
meta-regression. A weighted regression of study effect sizes on study-level covariates or moderators.
You can think of it as an extension of standard meta-analysis to incorporate the moderators to account
for between-study heterogeneity. See [META] meta regress.
methodological heterogeneity. Variability in study design and conduct (Deeks, Higgins, and Altman
2017). See Heterogeneity in [META] Intro.
mixed-treatment studies. See multiple-treatment studies.
moderator. A moderator is a study-level covariate that may help explain between-study heterogeneity.
If the moderator is categorical, its effect may be investigated by a subgroup analysis (see [META] meta
summarize); if the moderator is continuous, its effect may be investigated by a meta-regression. See
[META] meta regress.
multilevel meta-analysis. An extension of (univariate) meta-analysis to the analysis of potentially de-
pendent effect sizes reported by studies that exhibit a hierarchical structure. For example, effect sizes
can be nested within studies that are themselves nested within higher groups such as school districts.
Like univariate meta-analysis, the goals of multilevel meta-analysis are to obtain an estimate of the
overall effect size when it is sensible and to assess the heterogeneity across the different levels of the
hierarchy. See [META] meta meregress and [META] meta multilevel.
Glossary 430
Peto’s method. A method for combining odds ratios that is often used with sparse 2 × 2 tables. This
method does not require a zero-cell adjustment. See Peto’s method for odds ratios of Methods and
formulas in [META] meta summarize.
pooled effect size. See overall effect size.
prediction interval. In a random-effects meta-analysis, a 100(1 − 𝛼)% prediction interval indicates that
the true effect sizes in 100(1−𝛼)% of new studies will lie within the interval. See Prediction intervals
of Methods and formulas in [META] meta summarize.
prevalence. The proportion of subjects in a population that experiences a certain event of interest (suc-
cess) at a specific period of time.
prevalence data. Meta-analysis of prevalence data deals with aggregating evidence about the prevalence
of a certain event of interest. It is also known as meta-analysis of proportions. Each study must report
the number of events and the study sample size to estimate the overall prevalence. Also see one-sample
binary data.
primary study. The original study in which data are collected. An observation in a meta-analysis rep-
resents a primary study.
pseudo confidence interval. Pseudo confidence intervals refer to the confidence intervals as constructed
by the standard funnel plot. See [META] meta funnelplot.
publication bias. Publication bias is known in the meta-analysis literature as an association between the
likelihood of a publication and the statistical significance of a study result. See Publication bias in
[META] Intro.
𝑄 statistic. The test statistic of the homogeneity test. See Homogeneity test of Methods and formulas
in [META] meta summarize.
random-effects meta-analysis model. A meta-analysis model that assumes that the study effects are ran-
dom; that is, the studies used in the meta-analysis represent a random sample from a larger population
of similar studies. See Random-effects model in [META] Intro.
random-effects meta-regression. Meta-regression that assumes a random-effects meta-analysis model.
This regression model accounts for residual heterogeneity via an additive error term. See Introduction
in [META] meta regress.
random-intercepts multilevel meta-regression. A special type of multilevel meta-analysis where ran-
dom intercepts are the only type of random effects present in the model. In other words, the model
does not include any random slopes. See Introduction in [META] meta multilevel.
randomized controlled trial. A randomized controlled trial is an experiment in which participants are
randomly assigned to two or more different treatment groups. Randomized controlled trials are com-
monly used in clinical research to determine the effectiveness of new treatments. By design, they
avoid bias in the treatment estimates.
rate ratio. See risk ratio.
relative risk. See risk ratio.
reporting bias. Systematic difference between the studies selected in a meta-analysis and all the studies
relevant to the research question of interest. Also see publication bias.
Glossary 432
residual heterogeneity. In the meta-regression context, this is the remaining variability between the
studies not accounted for by the moderators. It is usually captured by the heterogeneity parameter
in a random-effects meta-regression or by a multiplicative dispersion parameter in a fixed-effects
meta-regression.
risk ratio. A ratio of the success probability in one group (treatment) to that of another group (control).
It is often used as an effect size for comparing binary outcomes of two groups. See [META] meta
esize.
sampling standard errors. Standard errors of the effect sizes, also known as within-study standard
errors in the context of multivariate meta-analysis and standard meta-analysis. See Introduction in
[META] meta meregress.
sampling variances. Variances of the effect sizes, also known as within-study variances in the context of
multivariate meta-analysis and standard meta-analysis. See Introduction in [META] meta meregress.
sensitivity analysis. In the context of meta-analysis, sensitivity analyses are used to assess how robust
the meta-analysis results are to assumptions made about the data and meta-analysis models. See
[META] meta summarize, [META] meta regress, and [META] meta mvregress.
significance contours. In the context of a funnel plot ([META] meta funnelplot), significance contours
(or contour lines of statistical significance) are the contour lines corresponding to the tests of signif-
icance of individual effect sizes for a given significance level 𝛼 = 𝑐/100. In other words, if a study
falls in the shaded area of a 𝑐-level contour, it is considered not statistically significant at the 𝛼 level
based on a test of significance of the study effect size.
single subgroup analysis. Subgroup analysis performed for one categorical variable. See [META] meta
summarize.
small-study effects. Small-study effects arise when the results of smaller studies differ systematically
from the results of larger studies. See Introduction of [META] meta funnelplot.
sparse data. For two-sample binary data, a 2 × 2 table is considered sparse if any of the cell counts are
small.
sparse data limiting model. A model assumption for two-sample binary data in which the number of
2 × 2 tables (studies) increases but the cell sizes remain fixed. See Robins, Breslow, and Greenland
(1986).
standard meta-analysis. The classical meta-analysis setting, where each study reports a single effect
size and all effect sizes are assumed to be independent.
statistical heterogeneity. See heterogeneity.
study precision. Study precision is a function of a study sample size or study variability. Typically, study
precision is measured by the inverse of the effect-sizes standard errors, 1/𝜎̂𝑗 , but other measures are
also used. For instance, in a funnel pot, multiple precision metrics such as variances and sample sizes
are considered. More precise studies (with larger sample sizes and smaller variances) are assigned
larger weights in a meta-analysis.
subgroup analysis. A subgroup analysis divides the studies into groups and then estimates the overall
effect size for each of the groups. The goal of subgroup analysis is to compare the overall effect sizes
and explore heterogeneity between the subgroups. See [META] meta summarize and [META] meta
forestplot.
Glossary 433
References
Begg, C. B., and M. Mazumdar. 1994. Operating characteristics of a rank correlation test for publication bias. Biometrics
50: 1088–1101. [Link]
Cohen, J. 1988. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Erlbaum.
Deeks, J. J., J. P. T. Higgins, and D. G. Altman. 2017. “Analysing data and undertaking meta-analyses”. In Cochrane
Handbook for Systematic Reviews of Interventions Version 5.2.0, edited by J. P. T. Higgins and S. Green. London: The
Cochrane Collaboration. [Link]
DerSimonian, R., and N. M. Laird. 1986. Meta-analysis in clinical trials. Controlled Clinical Trials 7: 177–188. https:
//[Link]/10.1016/0197-2456(86)90046-2.
Glossary 434
Egger, M., G. Davey Smith, M. Schneider, and C. Minder. 1997. Bias in meta-analysis detected by a simple, graphical
test. BMJ 315: 629–634. [Link]
Fisher, R. A. 1921. On the “probable error” of a coefficient of correlation deduced from a small sample. Metron 1: 3–32.
Freeman, M. F., and J. W. Tukey. 1950. Transformations related to the angular and the square root. Annals of Mathematical
Statistics 21: 607–611. [Link]
Greenland, S., and J. M. Robins. 1985. Estimation of a common effect parameter from sparse follow-up data. Biometrics
41: 55–68. [Link]
Hedges, L. V. 1981. Distribution theory for Glass’s estimator of effect size and related estimators. Journal of Educational
Statistics 6: 107–128. [Link]
Higgins, J. P. T., and S. G. Thompson. 2002. Quantifying heterogeneity in a meta-analysis. Statistics in Medicine 21:
1539–1558. [Link]
Jackson, D., I. R. White, and R. D. Riley. 2013. A matrix-based method of moments for fitting the multivariate random
effects model for meta-analysis and meta-regression. Biometrical Journal 55: 231–245. [Link]
201200152.
Mantel, N., and W. Haenszel. 1959. Statistical aspects of the analysis of data from retrospective studies of disease. Journal
of the National Cancer Institute 22: 719–748. Reprinted in Evolution of Epidemiologic Ideas: Annotated Readings on
Concepts and Methods, ed. S. Greenland, pp. 112–141. Newton Lower Falls, MA: Epidemiology Resources.
Robins, J. M., N. E. Breslow, and S. Greenland. 1986. Estimators of the Mantel–Haenszel variance consistent in both
sparse data and large-strata limiting models. Biometrics 42: 311–323. [Link]
Smith, M. L., and G. V. Glass. 1977. Meta-analysis of psychotherapy outcome studies. American Psychologist 32:
752–760. [Link]
Whitehead, A., and J. Whitehead. 1991. A general parametric approach to the meta-analysis of randomized clinical trials.
Statistics in Medicine 10: 1665–1677. [Link]
Subject and author index
See the combined subject index and the combined author index in the Stata Index.
435