Network meta-analysis is a generalisation of pairwise meta-analysis that compares all pairs of treatments within a number of treatments for the same condition. The graph-theoretical method for analysis of network meta-analyses uses graph-theoretical methods that were originally developed in electrical network theory. It has been found to be equivalent to the frequentist approach to network meta-analysis (R<U+00FC>cker, 2012).
netmeta(TE, seTE, treat1, treat2, studlab, data=NULL, subset=NULL,
sm, level=0.95, level.comb=0.95,
comb.fixed=gs("comb.fixed"),
comb.random=gs("comb.random") | !is.null(tau.preset),
prediction=FALSE, level.predict=0.95,
reference.group="", baseline.reference=TRUE,
all.treatments=NULL, seq=NULL, tau.preset=NULL,
tol.multiarm = 0.0005, details.chkmultiarm = FALSE,
sep.trts=":", nchar.trts=666,
n1=NULL, n2=NULL, event1=NULL, event2=NULL,
backtransf=gs("backtransf"), title="",
keepdata=gs("keepdata"), warn=TRUE)
Estimate of treatment effect, i.e. difference between first and second treatment (e.g. log odds ratio, mean difference, or log hazard ratio).
Standard error of treatment estimate.
Label/Number for first treatment.
Label/Number for second treatment.
An optional - but important! - vector with study labels (see Details).
An optional data frame containing the study information.
An optional vector specifying a subset of studies to be used.
A character string indicating underlying summary measure,
e.g., "RD"
, "RR"
, "OR"
, "ASD"
,
"HR"
, "MD"
, "SMD"
, or "ROM"
.
The level used to calculate confidence intervals for individual comparisons.
The level used to calculate confidence intervals for pooled estimates.
A logical indicating whether a fixed effect meta-analysis should be conducted.
A logical indicating whether a random effects meta-analysis should be conducted.
A logical indicating whether prediction intervals should be printed.
The level used to calculate prediction intervals for a new study.
Reference group.
A logical indicating whether results
should be expressed as comparisons of other treatments versus the
reference treatment (default) or vice versa. This argument is only
considered if reference.group
has been specified.
A logical or value "NULL"
. If
TRUE
, matrices with all treatment effects, and confidence
limits will be printed.
A character or numerical vector specifying the sequence of treatments in printouts.
An optional value for the square-root of the between-study variance \(\tau^2\).
A numeric for the tolerance for consistency of treatment estimates and corresponding variances in multi-arm studies which are consistent by design.
A logical indicating whether treatment estimates and / or variances of multi-arm studies with inconsistent results or negative multi-arm variances should be printed.
A character used in comparison names as separator between treatment labels.
A logical indicating whether results should be
back transformed in printouts and forest plots. If
backtransf=TRUE
, results for sm="OR"
are presented
as odds ratios rather than log odds ratios, for example.
A numeric defining the minium number of characters used to create unique treatment names (see Details).
Number of observations in first treatment group.
Number of observations in second treatment group.
Number of events in first treatment group.
Number of events in second treatment group.
Title of meta-analysis / systematic review.
A logical indicating whether original data (set) should be kept in netmeta object.
A logical indicating whether warnings should be printed (e.g., if studies are excluded from meta-analysis due to zero standard errors).
An object of class netmeta
with corresponding print
,
summary
, forest
, and netrank
function. The
object is a list containing the following components:
As defined above.
As defined above.
As defined above.
As defined above.
As defined above.
As defined above.
Standard error of treatment estimate, adjusted for multi-arm studies.
The name of the reference group, if
specified, otherwise c("")
.
A logical or value "NULL"
. If
TRUE
, matrices with all treatment effects, and
confidence limits will be printed.
Treatments included in network meta-analysis.
Study labels coerced into a factor with its levels sorted alphabetically.
Number of arms for each study.
A vector of length m of consistent treatment effects estimated by network meta-analysis (nma) (fixed effect / random effects model).
A vector of length m of effective standard errors estimated by network meta-analysis (fixed effect / random effects model).
A vector of length m of lower confidence interval limits for consistent treatment effects estimated by network meta-analysis (fixed effect / random effects model).
A vector of length m of upper confidence interval limits for the consistent treatment effects estimated by network meta-analysis (fixed effect /random effects model).
A vector of length m of leverages, interpretable as factors by which variances are reduced using information from the whole network.
A vector of length m of weights of individual studies (fixed effect / random effects model).
nxn matrix with estimated overall treatment effects (fixed effect / random effects model).
nxn matrix with standard errors (fixed effect / random effects model).
nxn matrices with lower and upper confidence interval limits (fixed effect / random effects model).
nxn matrices with z-value and p-value for test of overall treatment effect (fixed effect / random effects model).
nxn matrix with estimated treatment effects from direct evidence (fixed effect / random effects model).
nxn matrix with estimated standard errors from direct evidence (fixed effect / random effects model).
nxn matrices with lower and upper confidence interval limits from direct evidence (fixed effect / random effects model).
nxn matrices with z-value and p-value for test of overall treatment effect from direct evidence (fixed effect / random effects model).
nxn matrix with estimated treatment effects from indirect evidence (fixed effect / random effects model).
nxn matrix with estimated standard errors from indirect evidence (fixed effect / random effects model).
nxn matrices with lower and upper confidence interval limits from indirect evidence (fixed effect / random effects model).
nxn matrices with z-value and p-value for test of overall treatment effect from indirect evidence (fixed effect / random effects model).
A named vector of the direct evidence proportion of each network estimate. (fixed effect / random effects model).
A vector of length m of contributions to total heterogeneity / inconsistency statistic.
Total number of studies.
Total number of pairwise comparisons.
Total number of treatments.
Total number of designs.
Overall heterogeneity / inconsistency statistic.
Degrees of freedom for test of heterogeneity / inconsistency.
P-value for test of heterogeneity / inconsistency.
I-squared.
Square-root of between-study variance.
Overall heterogeneity statistic.
Degrees of freedom for test of overall heterogeneity.
P-value for test of overall heterogeneity.
Overall inconsistency statistic.
Degrees of freedom for test of overall inconsistency.
P-value for test of overall inconsistency.
Adjacency matrix (nxn).
Edge-vertex incidence matrix (mxn).
Laplacian matrix (nxn).
Moore-Penrose pseudoinverse of the Laplacian matrix (nxn).
Matrix of heterogeneity statistics for pairwise meta-analyses, where direct comparisons exist (nxn).
Matrix with variances and covariances of comparisons (mxm). G is defined as BL+B^t.
Hat matrix (mxm), defined as H=GW=BL+B^tW.
Variance-covariance matrix (fixed effect model)
Variance-covariance matrix (random effects model)
Data frame with columns 'treat1', 'treat2', 'Q', 'df' and 'pval.Q', providing heterogeneity statistics for each pairwise meta-analysis of direct comparisons.
nxn matrix with direct evidence proportions (fixed effect / random effects model).
Function call.
Version of R package netmeta used to create object.
Network meta-analysis using R package netmeta is described in detail in Schwarzer et al. (2015), Chapter 8.
Let n be the number of different treatments (nodes, vertices) in a network and let m be the number of existing comparisons (edges) between the treatments. If there are only two-arm studies, m is the number of studies. Let TE and seTE be the vectors of observed effects and their standard errors. Let W be the mxm diagonal matrix that contains the inverse variance 1/seTE^2.
The given comparisons define the network structure. Therefrom an mxn design matrix B (edge-vertex incidence matrix) is formed; for more precise information, see R<U+00FC>cker (2012). Moreover, the nxn Laplacian matrix L and its Moore-Penrose pseudoinverse L+ are calculated (both matrices play an important role in graph theory and electrical network theory). Using these matrices, the variances based on both direct and indirect comparisons can be estimated. Moreover, the hat matrix H can be estimated by H = BL+B^tW = B(B^t W B)^+B^tW and finally consistent treatment effects can be estimated by applying the hat matrix to the observed (potentially inconsistent) effects. H is a projection matrix which maps the observed effects onto the consistent (n-1)-dimensional subspace. This is the Aitken estimator (Senn et al., 2013). As in pairwise meta-analysis, the Q statistic measures the deviation from consistency. Q can be separated into parts for each pairwise meta-analysis and a part for remaining inconsistency between comparisons.
Often multi-arm studies are included in a network meta-analysis. In multi-arm studies, the treatment effects on different comparisons are not independent, but correlated. This is accounted for by reweighting all comparisons of each multi-arm study. The method is described in R<U+00FC>cker (2012) and R<U+00FC>cker and Schwarzer (2014).
Comparisons belonging to multi-arm studies are identified by
identical study labels (argument studlab
). It is therefore
important to use identical study labels for all comparisons
belonging to the same multi-arm study, e.g., study label
"Willms1999" for the three-arm study in the data example (Senn et
al., 2013). The function netmeta then automatically accounts for
within-study correlation by reweighting all comparisons of each
multi-arm study.
Data entry for this function is in contrast-based format,
that is, data are given as contrasts (differences) between two
treatments (argument TE
) with standard error (argument
seTE
). In principle, meta-analysis functions from R package
meta, e.g. metabin
for binary outcomes or
metacont
for continuous outcomes, can be used to
calculate treatment effects separately for each treatment comparison
which is a rather tedious enterprise. If data are provided in
arm-based format, that is, data are given for each treatment
arm separately (e.g. number of events and participants for binary
outcomes), a much more convenient way to transform data into
contrast-based form is available. Function pairwise
can automatically transform data with binary outcomes (using the
metabin
function from R package meta),
continuous outcomes (metacont
function), incidence
rates (metainc
function), and generic outcomes
(metagen
function). Additional arguments of these
functions can be provided, e.g., to calculate Hedges' g or
Cohen's d for continuous outcomes (see help page of function
pairwise
).
Note, all pairwise comparisons must be provided for a multi-arm
study. Consider a multi-arm study of p treatments with known
variances. For this study, treatment effects and standard errors
must be provided for each of p(p - 1)/2 possible
comparisons. For instance, a three-arm study contributes three
pairwise comparisons, a four-arm study even six pairwise
comparisons. Function pairwise
automatically
calculates all pairwise comparisons for multi-arm studies.
A simple random effects model assuming that a constant heterogeneity variance is added to each comparison of the network can be defined via a generalised methods of moments estimate of the between-studies variance tau^2 (Jackson et al., 2012). This is added to the observed sampling variance seTE^2 of each comparison in the network (before appropriate adjustment for multi-arm studies). Then, as in standard pairwise meta-analysis, the procedure is repeated with the resulting enlarged standard errors.
Internally, both fixed effects and random effects models are
calculated regardless of values choosen for arguments
comb.fixed
and comb.random
. Accordingly, the network
estimates for the random effects model can be extracted from
component TE.random
of an object of class "netmeta"
even if argument comb.random=FALSE
. However, all functions in
R package netmeta will adequately consider the values for
comb.fixed
and comb.random
. E.g. function
print.summary.netmeta
will not print results for the
random effects model if comb.random=FALSE
. By default
(comb.fixed=TRUE
), a fixed effects network meta-analysis is
reported. Use argument comb.random=TRUE
to report results
of a random effects model.
By default, treatment names are not abbreviated in
printouts. However, in order to get more concise printouts, argument
nchar.trts
can be used to define the minimum number of
characters for abbreviated treatment names. R function
treats
is utilised internally to create abbreviated
treatment names.
Names of treatment comparisons are created by concatenating
treatment labels of pairwise comparisons using sep.trts
as
separator (see paste
). These comparison names are used
in the covariance matrices Cov.fixed
and Cov.random
and in some R functions, e.g, decomp.design
. By
default, a colon is used as the separator. If any treatment label
contains a colon the following characters are used as separator (in
consecutive order): "-"
, "_"
, "/"
, "+"
,
"."
, "|"
, and "*"
. If all of these characters
are used in treatment labels, a corresponding error message is
printed asking the user to specify a different separator.
Jackson D, White IR and Riley RD (2012), Quantifying the impact of between-study heterogeneity in multivariate meta-analyses. Statistics in Medicine, 31(29), 3805--3820.
R<U+00FC>cker G (2012), Network meta-analysis, electrical networks and graph theory. Research Synthesis Methods, 3, 312--24.
R<U+00FC>cker G and Schwarzer G (2014), Reduce dimension or reduce weights? Comparing two approaches to multi-arm studies in network meta-analysis. Statistics in Medicine, 33, 4353--4369.
Schwarzer G, Carpenter JR and R<U+00FC>cker G (2015), Meta-Analysis with R (Use-R!). Springer International Publishing, Switzerland
Senn S, Gavini F, Magrez D, and Scheen A (2013), Issues in performing a network meta-analysis. Statistical Methods in Medical Research, 22(2), 169--189. First published online 2012 Jan 3.
# NOT RUN {
data(Senn2013)
#
# Fixed effect model (default)
#
net1 <- netmeta(TE, seTE, treat1, treat2, studlab,
data=Senn2013, sm="MD")
net1
net1$Q.decomp
#
# Comparison with reference group
#
print(net1, reference="plac")
#
# Random effects model
#
net2 <- netmeta(TE, seTE, treat1, treat2, studlab,
data=Senn2013, sm="MD", comb.random=TRUE)
net2
#
# Change printing order of treatments with placebo last and
# use long treatment names
#
trts <- c("acar", "benf", "metf", "migl", "piog",
"rosi", "sita", "sulf", "vild", "plac")
net3 <- netmeta(TE, seTE, treat1.long, treat2.long, studlab,
data=Senn2013, sm="MD", comb.random=TRUE,
seq=trts, reference="Placebo")
print(summary(net3), digits=2)
# }
Run the code above in your browser using DataLab