discomb  R Documentation 
Some treatments in a network metaanalysis may be combinations of other treatments or have common components. The influence of individual components can be evaluated in an additive network metaanalysis model assuming that the effect of treatment combinations is the sum of the effects of its components. This function implements this additive model in a frequentist way and is particularly intended for disconnected networks.
discomb( TE, seTE, treat1, treat2, studlab, data = NULL, subset = NULL, inactive = NULL, sep.comps = "+", C.matrix, sm, level = gs("level"), level.ma = gs("level.ma"), common = gs("common"), random = gs("random")  !is.null(tau.preset), reference.group, baseline.reference = TRUE, seq = NULL, tau.preset = NULL, tol.multiarm = 0.001, tol.multiarm.se = NULL, details.chkmultiarm = FALSE, details.chkident = FALSE, sep.trts = ":", nchar.comps = 666, func.inverse = invmat, backtransf = gs("backtransf"), title = "", warn = TRUE, warn.deprecated = gs("warn.deprecated"), nchar.trts = nchar.comps, ... )
TE 
Estimate of treatment effect, i.e. difference between
first and second treatment (e.g. log odds ratio, mean difference,
or log hazard ratio). Or an R object created with

seTE 
Standard error of treatment estimate. 
treat1 
Label/Number for first treatment. 
treat2 
Label/Number for second treatment. 
studlab 
An optional  but important!  vector with study
labels (see 
data 
An optional data frame containing the study information. 
subset 
An optional vector specifying a subset of studies to be used. 
inactive 
A character string defining the inactive treatment component (see Details). 
sep.comps 
A single character to define separator between treatment components. 
C.matrix 
C matrix (see Details). 
sm 
A character string indicating underlying summary measure,
e.g., 
level 
The level used to calculate confidence intervals for individual comparisons. 
level.ma 
The level used to calculate confidence intervals for network estimates. 
common 
A logical indicating whether a common effects / common effects network metaanalysis should be conducted. 
random 
A logical indicating whether a random effects network metaanalysis should be conducted. 
reference.group 
Reference treatment (first treatment is used if argument is missing). 
baseline.reference 
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 
seq 
A character or numerical vector specifying the sequence of treatments in printouts. 
tau.preset 
An optional value for the squareroot of the betweenstudy variance τ^2. 
tol.multiarm 
A numeric for the tolerance for consistency of treatment estimates in multiarm studies which are consistent by design. 
tol.multiarm.se 
A numeric for the tolerance for consistency
of standard errors in multiarm studies which are consistent by
design. This check is not conducted if the argument is

details.chkmultiarm 
A logical indicating whether treatment estimates and / or variances of multiarm studies with inconsistent results or negative multiarm variances should be printed. 
details.chkident 
A logical indicating whether details on unidentifiable components should be printed. 
sep.trts 
A character used in comparison names as separator between treatment labels. 
nchar.comps 
A numeric defining the minimum number of characters used to create unique names for components (see Details). 
func.inverse 
R function used to calculate the pseudoinverse
of the Laplacian matrix L (see 
backtransf 
A logical indicating whether results should be
back transformed in printouts and forest plots. If

title 
Title of metaanalysis / systematic review. 
warn 
A logical indicating whether warnings should be printed (e.g., if studies are excluded from metaanalysis due to zero standard errors). 
warn.deprecated 
A logical indicating whether warnings should be printed if deprecated arguments are used. 
nchar.trts 
Deprecated argument (replaced by

... 
Additional arguments (to catch deprecated arguments). 
Treatments in network metaanalysis (NMA) can be complex
interventions. Some treatments may be combinations of others or
have common components. The standard analysis provided by
netmeta
is a NMA where all existing (single or
combined) treatments are considered as different nodes in the
network. Exploiting the fact that some treatments are combinations
of common components, an additive component network metaanalysis
(CNMA) model can be used to evaluate the influence of individual
components. This model assumes that the effect of a treatment
combination is the sum of the effects of its components which
implies that common components cancel out in comparisons.
This R function can be used for disconnected networks. Use
netmeta
and netcomb
for connected
networks.
The additive CNMA model has been implemented using Bayesian methods (Mills et al., 2012; Welton et al., 2013). This function implements the additive model in a frequentist way (Rücker et al., 2020).
The underlying multivariate model is given by
\bold{δ} = \bold{B} \bold{θ}, \bold{θ} = \bold{C} \bold{β}
with
vector of true treatment effects (differences) from individual studies,
design matrix describing the structure of the network,
parameter vector that represents the existing combined treatments,
matrix describing how the treatments are composed,
parameter vector representing the treatment components.
All parameters are estimated using weighted least squares regression.
Argument inactive
can be used to specify a single component
that does not have any therapeutic value. Accordingly, it is
assumed that the treatment effect of the combination of this
component with an additional treatment component is equal to the
treatment effect of the additional component alone.
Argument sep.comps
can be used to specify the separator
between individual components. By default, the matrix C is
calculated internally from treatment names. However, it is possible
to specify a different matrix using argument C.matrix
.
By default, component names are not abbreviated in
printouts. However, in order to get more concise printouts,
argument nchar.comps
can be used to define the minimum
number of characters for abbreviated component names (see
abbreviate
, argument minlength
). R function
treats
is utilised internally to create abbreviated
component names.
An object of classes discomb
and netcomb
with
corresponding print
, summary
, and forest
functions. The object is a list containing the following
components:
studlab 
Study labels. 
treat1 
Label/Number for first treatment. 
treat2 
Label/Number for second treatment. 
TE 
Estimate of treatment effect, i.e. difference between first and second treatment. 
seTE 
Standard error of treatment estimate. 
seTE.adj.common, seTE.adj.random 
Standard error of treatment estimate, adjusted for multiarm studies. 
event1 
Number of events in first treatment group. 
event2 
Number of events in second treatment group. 
n1 
Number of observations in first treatment group. 
n2 
Number of observations in second treatment group. 
k 
Total number of studies. 
m 
Total number of pairwise comparisons. 
n 
Total number of treatments. 
d 
Total number of designs (corresponding to the unique set of treatments compared within studies). 
c 
Total number of components. 
trts 
Treatments included in network metaanalysis. 
comps 
Unique list of components present in the network. 
TE.cnma.common, TE.cnma.random 
A vector of length m of consistent treatment effects estimated by the additive (common and random effects) model. 
seTE.cnma.common, seTE.cnma.random 
A vector of length m with standard errors estimated by the additive (common and random effects) model. 
lower.cnma.common, lower.cnma.random 
A vector of length m of lower confidence interval limits for consistent treatment effects estimated by the additive (common and random effects) model. 
upper.cnma.common, upper.cnma.random 
A vector of length m of upper confidence interval limits for consistent treatment effects estimated by the additive (common and random effects) model. 
statistic.cnma.common, statistic.cnma.random 
A vector of length m of zvalues for the test of an overall effect estimated by the additive (common and random effects) model. 
pval.cnma.common, pval.cnma.random 
A vector of length m of pvalues for the test of an overall effect estimated by the additive (common and random effects) model. 
TE.common, TE.random 
nxn matrix with overall treatment effects estimated by the additive (common and random effects) model. 
seTE.common, seTE.random 
nxn matrix with standard errors estimated by the additive (common and random effects) model. 
lower.common, upper.common, lower.random,
upper.random 
nxn matrices with lower and upper confidence interval limits estimated by the additive (common and random effects) model. 
statistic.common, pval.common, statistic.random,
pval.random 
nxn matrices with zvalues and pvalues for test of overall effect estimated by the additive (common and random effects) model. 
Comp.common, Comp.random 
A vector of component effects (common and random effects model). 
seComp.common, seComp.random 
A vector with corresponding standard errors (common and random effects model). 
lower.Comp.common, lower.Comp.random 
A vector with lower confidence limits for components (common and random effects model). 
upper.Comp.common, upper.Comp.random 
A vector with upper confidence limits for components (common and random effects model). 
statistic.Comp.common, statistic.Comp.random 
A vector with zvalues for the overall effect of components (common and random effects model). 
pval.Comp.common, pval.Comp.random 
A vector with pvalues for the overall effect of components (common and random effects model). 
Comb.common, Comb.random 
A vector of combination effects (common and random effects model). 
seComb.common, seComb.random 
A vector with corresponding standard errors (common and random effects model). 
lower.Comb.common, lower.Comb.random 
A vector with lower confidence limits for combinations (common and random effects model). 
upper.Comb.common, upper.Comb.random 
A vector with upper confidence limits for combinations (common and random effects model). 
statistic.Comb.common, statistic.Comb.random 
A vector with zvalues for the overall effect of combinations (common and random effects model). 
pval.Comb.common, pval.Comb.random 
A vector with pvalues for the overall effect of combinations (common and random effects model). 
Q.additive 
Overall heterogeneity / inconsistency statistic (additive model). 
df.Q.additive 
Degrees of freedom for test of heterogeneity / inconsistency (additive model). 
pval.Q.additive 
Pvalue for test of heterogeneity / inconsistency (additive model). 
tau 
Squareroot of betweenstudy variance (additive model). 
I2 
Isquared (additive model). 
Q.standard 
Overall heterogeneity / inconsistency statistic (standard model). 
df.Q.standard 
Degrees of freedom for test of heterogeneity / inconsistency (standard model). 
pval.Q.standard 
Pvalue for test of heterogeneity / inconsistency (standard model). 
Q.diff 
Test statistic for difference in goodness of fit between standard and additive model. 
df.Q.diff 
Degrees of freedom for difference in goodness of fit between standard and additive model. 
pval.Q.diff 
Pvalue for difference in goodness of fit between standard and additive model. 
X.matrix 
Design matrix (mxn). 
B.matrix 
Edgevertex incidence matrix (mxn). 
C.matrix 
As defined above. 
sm 
Summary measure. 
level.ma 
Level for confidence intervals. 
common, random, tau.preset 
As defined above. 
sep.trts 
A character used in comparison names as separator between treatment labels. 
nchar.comps 
A numeric defining the minimum number of characters used to create unique component names. 
inactive, sep.comps 
As defined above. 
backtransf 
A logical indicating whether results should be back transformed in printouts and forest plots. 
title 
Title of metaanalysis / systematic review. 
x 
As defined above. 
call 
Function call. 
version 
Version of R package netmeta used to create object. 
This function calculates effects for individual components and complex interventions present in the network.
R function netcomplex
can be used to calculate the
effect for arbitrary complex interventions in a component network
metaanalysis. Furthermore, R function netcomparison
can be used to calculate the effect for comparisons of two
arbitrary complex intervention in a component network
metaanalysis.
Gerta Rücker ruecker@imbi.unifreiburg.de, Guido Schwarzer sc@imbi.unifreiburg.de
König J, Krahn U, Binder H (2013): Visualizing the flow of evidence in network metaanalysis and characterizing mixed treatment comparisons. Statistics in Medicine, 32, 5414–29
Mills EJ, Thorlund K, Ioannidis JP (2012): Calculating additive treatment effects from multiple randomized trials provides useful estimates of combination therapies. Journal of Clinical Epidemiology, 65, 1282–8
Rücker G, Petropoulou M, Schwarzer G (2020): Network metaanalysis of multicomponent interventions. Biometrical Journal, 62, 808–21
Welton NJ, Caldwell DM, Adamopoulos E, Vedhara K (2009): Mixed treatment comparison metaanalysis of complex interventions: psychological interventions in coronary heart disease. American Journal of Epidemiology, 169: 1158–65
netcomb
, forest.netcomb
,
summary.netcomb
, netmeta
,
netconnection
, netcomplex
,
netcomparison
# Artificial dataset # t1 < c("A + B", "A + C", "A" , "A" , "D", "D", "E") t2 < c("C" , "B" , "B + C", "A + D", "E", "F", "F") # mean < c(4.1, 2.05, 0, 0, 0.1, 0.1, 0.05) se.mean < rep(0.1, 7) # study < paste("study", c(1:4, 5, 5, 5)) # dat < data.frame(mean, se.mean, t1, t2, study, stringsAsFactors = FALSE) # trts < c("A", "A + B", "A + C", "A + D", "B", "B + C", "C", "D", "E", "F") # comps < LETTERS[1:6] # Use netconnection() to display network information # netconnection(t1, t2, study) dc1 < discomb(mean, se.mean, t1, t2, study, seq = trts) dc1 forest(dc1, ref = "F") # Define C matrix manually (which will produce the same results) # C < rbind(c(1, 0, 0, 0, 0, 0), # A c(1, 1, 0, 0, 0, 0), # A + B c(1, 0, 1, 0, 0, 0), # A + C c(1, 0, 0, 1, 0, 0), # A + D c(0, 1, 0, 0, 0, 0), # B c(0, 1, 1, 0, 0, 0), # B + C c(0, 0, 1, 0, 0, 0), # C c(0, 0, 0, 1, 0, 0), # D c(0, 0, 0, 0, 1, 0), # E c(0, 0, 0, 0, 0, 1)) # F # colnames(C) < comps rownames(C) < trts # dc2 < discomb(mean, se.mean, t1, t2, study, seq = trts, C.matrix = C) # # Compare C matrices # all.equal(dc1$C.matrix, dc2$C.matrix)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.