netsplit: Split direct and indirect evidence in network meta-analysis

View source: R/netsplit.R

netsplitR Documentation

Split direct and indirect evidence in network meta-analysis

Description

Methods to split network estimates into the contribution of direct and indirect evidence and to test for local inconsistency in network meta-analysis.

Usage

netsplit(
  x,
  method,
  upper = TRUE,
  reference.group = x$reference.group,
  baseline.reference = x$baseline.reference,
  order = NULL,
  sep.trts = x$sep.trts,
  quote.trts = "",
  tol.direct = 5e-04,
  common = x$common,
  random = x$random,
  backtransf = x$backtransf,
  warn = FALSE,
  warn.deprecated = gs("warn.deprecated"),
  verbose = FALSE,
  ...
)

## S3 method for class 'netsplit'
print(
  x,
  common = x$x$common,
  random = x$x$random,
  show = "all",
  overall = TRUE,
  ci = FALSE,
  test = show %in% c("all", "with.direct", "both"),
  only.reference = FALSE,
  sortvar = NULL,
  subset = NULL,
  nchar.trts = x$nchar.trts,
  digits = gs("digits"),
  digits.stat = gs("digits.stat"),
  digits.pval = gs("digits.pval"),
  digits.prop = max(gs("digits.pval") - 2, 2),
  text.NA = ".",
  backtransf = x$backtransf,
  scientific.pval = gs("scientific.pval"),
  big.mark = gs("big.mark"),
  legend = TRUE,
  indent = TRUE,
  warn.deprecated = gs("warn.deprecated"),
  ...
)

Arguments

x

An object of class netmeta or netsplit.

method

A character string indicating which method to split direct and indirect evidence is to be used. Either "Back-calculation" or "SIDDE", can be abbreviated. See Details.

upper

A logical indicating whether treatment comparisons should be selected from the lower or upper triangle of the treatment effect matrices (see list elements TE.common and TE.random in the netmeta object). Ignored if argument order is provided.

reference.group

Reference treatment. Ignored if argument order is provided.

baseline.reference

A logical indicating whether results should be expressed as comparisons of other treatments versus the reference treatment or vice versa. This argument is only considered if reference.group is not equal to "" and argumentorder is not provided.

order

A optional character or numerical vector specifying the order of treatments in comparisons.

sep.trts

A character string used in comparison names as separator between treatment labels, e.g., " vs ".

quote.trts

A character used to print around treatment labels.

tol.direct

A numeric defining the maximum deviation of the direct evidence proportion from 0 or 1 to classify a comparison as providing only indirect or direct evidence, respectively.

common

A logical indicating whether results for the common effects network meta-analysis should be printed.

random

A logical indicating whether results for the random effects network meta-analysis should be printed.

backtransf

A logical indicating whether printed results should be back transformed. For example, if backtransf = TRUE, results for sm = "OR" are printed as odds ratios rather than log odds ratios.

warn

A logical indicating whether warnings should be printed.

warn.deprecated

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

verbose

A logical indicating whether progress information should be printed.

...

Additional arguments.

show

A character string indicating which comparisons should be printed (see Details).

overall

A logical indicating whether estimates from network meta-analyis should be printed in addition to direct and indirect estimates.

ci

A logical indicating whether confidence intervals should be printed in addition to treatment estimates.

test

A logical indicating whether results of a test comparing direct and indirect estimates should be printed.

only.reference

A logical indicating whether only comparisons with the reference group should be printed.

sortvar

An optional vector used to sort comparisons (must be of same length as the total number of comparisons).

subset

An optional logical vector specifying a subset of comparisons to print (must be of same length as the total number of comparisons) .

nchar.trts

A numeric defining the minimum number of characters used to create unique treatment names.

digits

Minimal number of significant digits, see print.default.

digits.stat

Minimal number of significant digits for z-value of test of agreement between direct and indirect evidence, see print.default.

digits.pval

Minimal number of significant digits for p-value of test of agreement between direct and indirect evidence, see print.default.

digits.prop

Minimal number of significant digits for direct evidence proportions, see print.default.

text.NA

A character string specifying text printed for missing values.

scientific.pval

A logical specifying whether p-values should be printed in scientific notation, e.g., 1.2345e-01 instead of 0.12345.

big.mark

A character used as thousands separator.

legend

A logical indicating whether a legend should be printed.

indent

A logical indicating whether items in the legend should be indented.

Details

A comparison of direct and indirect treatment estimates can serve as check for consistency of network meta-analysis (Dias et al., 2010).

This function provides two methods to derive indirect estimates:

  • Separate Indirect from Direct Evidence (SIDE) using a back-calculation method (method = "Back-calculation") based on the direct evidence proportion to calculate the indirect evidence (König et al., 2013);

  • Separate Indirect from Direct Design Evidence (SIDDE) as described in Efthimiou et al. (2019).

Note, for the back-calculation method, indirect treatment estimates are already calculated in netmeta and this function combines and prints these estimates in a user-friendly way. Furthermore, this method is not available for the Mantel-Haenszel and non-central hypergeometric distribution approach implemented in netmetabin.

For the random-effects model, the direct treatment estimates are based on the common between-study variance \tau^2 from the network meta-analysis, i.e. the square of list element x$tau.

Argument show determines which comparisons are printed:

“all” All comparisons
“both” Only comparisons contributing both direct and indirect evidence
“with.direct” Comparisons providing direct evidence
“direct.only” Comparisons providing only direct evidence
“indirect.only” Comparisons providing only indirect evidence

The node-splitting method and SIDDE can be compute-intensive in large networks. Crude information on the computation progress is printed if argument verbose = TRUE. In addition, computation times are printed if R package tictoc is installed.

Value

An object of class netsplit with corresponding print and forest functions. The object is a list containing the following components:

common, random

As defined above.

comparison

A vector with treatment comparisons.

prop.common, prop.random

A vector with direct evidence proportions (common / random effects model).

common, random

Results of network meta-analysis (common / random effects model), i.e., data frame with columns comparison, TE, seTE, lower, upper, z, and p.

direct.common, direct.random

Network meta-analysis results based on direct evidence (common / random effects model), i.e., data frame with columns comparison, TE, seTE, lower, upper, z, and p.

indirect.common, indirect.random

Network meta-analysis results based on indirect evidence (common / random effects model), i.e., data frame with columns comparison, TE, seTE, lower, upper, z, and p.

compare.common, compare.random

Comparison of direct and indirect evidence in network meta-analysis (common / random effects model), i.e., data frame with columns comparison, TE, seTE, lower, upper, z, and p.

sm

A character string indicating underlying summary measure

level.ma

The level used to calculate confidence intervals for pooled estimates.

tictoc

Computation times for node-splitting method or SIDDE (if R package tictoc is installed).

version

Version of R package netmeta used to create object.

Author(s)

Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de, Gerta Rücker gerta.ruecker@uniklinik-freiburg.de, Orestis Efthimiou oremiou@gmail.com

References

Dias S, Welton NJ, Caldwell DM, Ades AE (2010): Checking consistency in mixed treatment comparison meta-analysis. Statistics in Medicine, 29, 932–44

Efthimiou O, Rücker G, Schwarzer G, Higgins J, Egger M, Salanti G (2019): A Mantel-Haenszel model for network meta-analysis of rare events. Statistics in Medicine, 38, 2992–3012

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

Puhan MA, Schünemann HJ, Murad MH, et al. (2014): A GRADE working group approach for rating the quality of treatment effect estimates from network meta-analysis. British Medical Journal, 349, g5630

See Also

forest.netsplit, netmeta, netmetabin, netmeasures

Examples

data(Woods2010)
#
p1 <- pairwise(treatment, event = r, n = N,
  studlab = author, data = Woods2010, sm = "OR")
#
net1 <- netmeta(p1)
#
print(netsplit(net1), digits = 2)

## Not run: 
print(netsplit(net1), digits = 2,
  backtransf = FALSE, common = FALSE)

# Sort by increasing number of studies in direct comparisons
print(netsplit(net1), digits = 2, sortvar = k)
# Sort by decreasing number of studies in direct comparisons
print(netsplit(net1), digits = 2, sortvar = -k)

# Sort by increasing evidence proportion under common effects model
print(netsplit(net1), digits = 2, sortvar = prop.common)
# Sort by decreasing evidence proportion under common effects model
print(netsplit(net1), digits = 2, sortvar = -prop.common)

# Sort by decreasing evidence proportion under common effects model
# and number of studies
print(netsplit(net1), digits = 2, sortvar = cbind(-prop.common, -k))

data(Senn2013)
#
net2 <- netmeta(TE, seTE, treat1.long, treat2.long,
  studlab, data = Senn2013)
#
print(netsplit(net2), digits = 2)
# Layout of Puhan et al. (2014), Table 1
print(netsplit(net2), digits = 2, ci = TRUE, test = FALSE)

data(Dong2013)
p3 <- pairwise(treatment, death, randomized, studlab = id,
  data = Dong2013, sm = "OR")
net3 <- netmetabin(p3)
netsplit(net3)

## End(Not run)


netmeta documentation built on June 23, 2024, 9:06 a.m.