netcomb: Additive network meta-analysis for combinations of treatments

View source: R/netcomb.R

netcombR Documentation

Additive network meta-analysis for combinations of treatments

Description

Some treatments in a network meta-analysis may be combinations of other treatments or have common components. The influence of individual components can be evaluated in an additive network meta-analysis 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.

Usage

netcomb(
  x,
  inactive = NULL,
  sep.comps = "+",
  C.matrix,
  common = x$common,
  random = x$random | !is.null(tau.preset),
  tau.preset = NULL,
  details.chkident = FALSE,
  nchar.comps = x$nchar.trts,
  func.inverse = invmat,
  warn.deprecated = gs("warn.deprecated"),
  ...
)

Arguments

x

An object of class netmeta.

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

common

A logical indicating whether a common effects network meta-analysis should be conducted.

random

A logical indicating whether a random effects network meta-analysis should be conducted.

tau.preset

An optional value for the square-root of the between-study variance τ^2.

details.chkident

A logical indicating whether details on unidentifiable components should be printed.

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 netmeta).

warn.deprecated

A logical indicating whether warnings should be printed if deprecated arguments are used.

...

Additional arguments (to catch deprecated arguments).

Details

Treatments in network meta-analysis (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 meta-analysis (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.

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

\bold{δ}

vector of true treatment effects (differences) from individual studies,

\bold{B}

design matrix describing the structure of the network,

\bold{θ}

parameter vector that represents the existing combined treatments,

\bold{C}

matrix describing how the treatments are composed,

\bold{β}

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.

Value

An object of class 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 multi-arm studies.

design

Design of study providing pairwise comparison.

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 meta-analysis.

k.trts

Number of studies evaluating a treatment.

n.trts

Number of observations receiving a treatment (if arguments n1 and n2 are provided).

events.trts

Number of events observed for a treatment (if arguments event1 and event2 are provided).

studies

Study labels coerced into a factor with its levels sorted alphabetically.

narms

Number of arms for each study.

designs

Unique list of designs present in the network. A design corresponds to the set of treatments compared within a study.

comps

Unique list of components present in the network.

TE.nma.common, TE.nma.random

A vector of length m of consistent treatment effects estimated by network meta-analysis (nma) (common and random effects model).

seTE.nma.common, seTE.nma.random

A vector of length m of effective standard errors estimated by network meta-analysis (common and random effects model).

lower.nma.common, lower.nma.random

A vector of length m of lower confidence interval limits for consistent treatment effects estimated by network meta-analysis (common and random effects model).

upper.nma.common, upper.nma.random

A vector of length m of upper confidence interval limits for the consistent treatment effects estimated by network meta-analysis (common and random effects model).

statistic.nma.common, statistic.nma.random

A vector of length m of z-values for test of treatment effect for individual comparisons (common and random effects model).

pval.nma.common, pval.nma.random

A vector of length m of p-values for test of treatment effect for individual comparisons (common and random effects model).

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 z-values 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 p-values 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 z-values and p-values 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 z-values for the overall effect of components (common and random effects model).

pval.Comp.common, pval.Comp.random

A vector with p-values 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 z-values for the overall effect of combinations (common and random effects model).

pval.Comb.common, pval.Comb.random

A vector with p-values 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

P-value for test of heterogeneity / inconsistency (additive model).

tau

Square-root of between-study variance (additive model).

I2, lower.I2, upper.I2

I-squared, lower and upper confidence limits.

Q.standard

Overall heterogeneity / inconsistency statistic (standard model).

df.Q.standard

Degrees of freedom for test of heterogeneity / inconsistency (standard model).

pval.Q.standard

P-value 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

P-value for difference in goodness of fit between standard and additive model.

A.matrix

Adjacency matrix (nxn).

B.matrix

Edge-vertex 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 meta-analysis / systematic review.

x

As defined above.

call

Function call.

version

Version of R package netmeta used to create object.

Note

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 meta-analysis. Furthermore, R function netcomparison can be used to calculate the effect for comparisons of two arbitrary complex intervention in a component network meta-analysis.

Author(s)

Gerta Rücker ruecker@imbi.uni-freiburg.de, Guido Schwarzer sc@imbi.uni-freiburg.de

References

König J, Krahn U, Binder H (2013): Visualizing the flow of evidence in network meta-analysis 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 meta-analysis of multicomponent interventions. Biometrical Journal, 62, 808–21

Welton NJ, Caldwell DM, Adamopoulos E, Vedhara K (2009): Mixed treatment comparison meta-analysis of complex interventions: psychological interventions in coronary heart disease. American Journal of Epidemiology, 169: 1158–65

See Also

discomb, netmeta, forest.netcomb, print.netcomb, netcomplex, netcomparison

Examples

data(Linde2016)

# Only consider studies including Face-to-face PST (to reduce
# runtime of example)
#
face <- subset(Linde2016, id %in% c(16, 24, 49, 118))

# Conduct random effects network meta-analysis
#
net1 <- netmeta(lnOR, selnOR, treat1, treat2, id,
  data = face, ref = "placebo", sm = "OR", common = FALSE)
net1
forest(net1, xlim = c(0.2, 50))

# Additive model for treatment components (with placebo as inactive
# treatment)
#
nc1 <- netcomb(net1, inactive = "placebo")
nc1
forest(nc1, xlim = c(0.2, 50))

## Not run: 
# Specify, order of treatments
#
trts <- c("TCA", "SSRI", "SNRI", "NRI", "Low-dose SARI", "NaSSa",
  "rMAO-A", "Ind drug", "Hypericum", "Face-to-face CBT",
  "Face-to-face PST", "Face-to-face interpsy", "Face-to-face psychodyn",
  "Other face-to-face", "Remote CBT", "Self-help CBT", "No contact CBT",
  "Face-to-face CBT + SSRI", "Face-to-face interpsy + SSRI",
  "Face-to-face PST + SSRI", "UC", "Placebo")
#
# Note, three treatments are actually combinations of 'SSRI' with
# other components:
# "Face-to-face CBT + SSRI",
# "Face-to-face interpsy + SSRI",
# "Face-to-face PST + SSRI"

# Conduct random effects network meta-analysis
#
net1 <- netmeta(lnOR, selnOR, treat1, treat2, id,
  data = Linde2016, ref = "placebo",
  seq = trts, sm = "OR", common = FALSE)
net1
forest(net1, xlim = c(0.2, 50))

# Additive model for treatment components (with placebo as inactive
# treatment)
#
nc1 <- netcomb(net1, inactive = "placebo")
nc1
forest(nc1, xlim = c(0.2, 50))

## End(Not run)


netmeta documentation built on July 12, 2022, 1:07 a.m.