Learn R Programming

netmeta (version 3.2-0)

netrank: Frequentist method to rank treatments in network

Description

Ranking treatments in frequentist network meta-analysis with and without resampling methods.

Usage

netrank(
  x,
  small.values = x$small.values,
  method,
  nsim,
  common = x$common,
  random = x$random,
  warn.deprecated = gs("warn.deprecated"),
  ...
)

# S3 method for netrank print( x, common = x$common, random = x$random, sort = TRUE, digits = gs("digits.prop"), warn.deprecated = gs("warn.deprecated"), ... )

Value

An object of class netrank with corresponding print

function. The object is a list containing the following components:

ranking.common

A named numeric vector with P-scores or SUCRAs for the common effects model.

Pmatrix.common

Numeric matrix based on pairwise one-sided p-values for the common effects model.

ranking.random

A named numeric vector with P-scores or SUCRAs for the random effects model.

Pmatrix.random

Numeric matrix based on pairwise one-sided p-values of the random effects model.

small.values, method, x

As defined above.

version

Version of R package netmeta used to create object.

Arguments

x

An object of class netmeta or rankogram.

small.values

A character string specifying whether small treatment effects indicate a beneficial ("desirable") or harmful ("undesirable") effect, can be abbreviated.

method

A character string specifying whether the "P-score" or "SUCRA" ranking metric will be calculated.

nsim

Number of simulations to calculate SUCRAs.

common

A logical indicating whether to print P-scores or SUCRAs for the common effects model.

random

A logical indicating whether to print P-scores or SUCRAs for the random effects model.

warn.deprecated

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

...

Additional arguments passed on to print.data.frame function (used internally).

sort

A logical indicating whether printout should be sorted by decreasing P-score.

digits

Minimal number of significant digits, see print.default.

Author

Gerta Rücker gerta.ruecker@uniklinik-freiburg.de, Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de, Theodoros Papakonstantinou dev@tpapak.com

Details

Treatments are ranked based on a network meta-analysis. Ranking is performed by a ranking metric: P-score or SUCRA.

P-scores are based solely on the point estimates and standard errors of the network estimates. They measure the extent of certainty that a treatment is better than another treatment, averaged over all competing treatments (Rücker and Schwarzer 2015).

The Surface Under the Cumulative RAnking curve (SUCRA) is the rank of treatment i within the range of treatments, measured on a scale from 0 (worst) to 1 (best) (Salanti et al. 2011). A resampling method is used to calculate SUCRAs for frequentist network meta-analysis. The number of simulations is determine by argument nsim.

The interpretation of P-scores and SUCRAs is comparable.

The P-score of treatment i is defined as the mean of all 1 - P[j] where P[j] denotes the one-sided P-value of accepting the alternative hypothesis that treatment i is better than one of the competing treatments j. Thus, if treatment i is better than many other treatments, many of these P-values will be small and the P-score will be large. Vice versa, if treatment i is worse than most other treatments, the P-score is small.

The P-score of treatment i can be interpreted as the mean extent of certainty that treatment i is better than another treatment.

References

Rücker G, Schwarzer G (2017): Resolve conflicting rankings of outcomes in network meta-analysis: Partial ordering of treatments. Research Synthesis Methods, 8, 526--36

Salanti G, Ades AE, Ioannidis JP (2011): Graphical methods and numerical summaries for presenting results from multiple-treatment meta-analysis: an overview and tutorial. Journal of Clinical Epidemiology, 64, 163--71

See Also

netmeta, rankogram, plot.rankogram

Examples

Run this code
# \donttest{
# Define order of treatments in depression dataset dat.linde2015
#
trts <- c("TCA", "SSRI", "SNRI", "NRI",
  "Low-dose SARI", "NaSSa", "rMAO-A", "Hypericum", "Placebo")

# Outcome labels
#
outcomes <- c("Early response", "Early remission")

# (1) Early response
#
pw1 <- pairwise(treat = list(treatment1, treatment2, treatment3),
  event = list(resp1, resp2, resp3), n = list(n1, n2, n3),
  studlab = id, data = dat.linde2015, sm = "OR")
#
net1 <- netmeta(pw1, common = FALSE, seq = trts, ref = "Placebo",
  small.values = "undesirable")
netrank(net1)

# (2) Early remission
#
pw2 <- pairwise(treat = list(treatment1, treatment2, treatment3),
  event = list(remi1, remi2, remi3), n = list(n1, n2, n3),
  studlab = id, data = dat.linde2015, sm = "OR")
#
net2 <- netmeta(pw2, common = FALSE, seq = trts, ref = "Placebo",
  small.values = "undesirable")
netrank(net2)

# Image plot of treatment rankings (two outcomes)
#
plot(netrank(net1), netrank(net2), name = outcomes, digits = 2)


# Outcome labels
#
outcomes <- c("Early response", "Early remission",
  "Lost to follow-up", "Lost to follow-up due to AEs",
  "Adverse events (AEs)")

# (3) Loss to follow-up
#
pw3 <- pairwise(treat = list(treatment1, treatment2, treatment3),
  event = list(loss1, loss2, loss3), n = list(n1, n2, n3),
  studlab = id, data = dat.linde2015, sm = "OR")
#
net3 <- netmeta(pw3, common = FALSE, seq = trts, ref = "Placebo",
  small.values = "desirable")

# (4) Loss to follow-up due to adverse events
#
pw4 <- pairwise(treat = list(treatment1, treatment2, treatment3),
  event = list(loss.ae1, loss.ae2, loss.ae3), n = list(n1, n2, n3),
  studlab = id, data = subset(dat.linde2015, id != 55), sm = "OR")
#
net4 <- netmeta(pw4, common = FALSE, seq = trts, ref = "Placebo",
  small.values = "desirable")

# (5) Adverse events
#
pw5 <- pairwise(treat = list(treatment1, treatment2, treatment3),
  event = list(ae1, ae2, ae3), n = list(n1, n2, n3),
  studlab = id, data = dat.linde2015, sm = "OR")
#
net5 <- netmeta(pw5, common = FALSE, seq = trts, ref = "Placebo",
  small.values = "desirable")

# Image plot of treatment rankings (two outcomes)
#
plot(netrank(net1), netrank(net2), netrank(net3),
  netrank(net4), netrank(net5),
  name = outcomes, digits = 2)
# }

Run the code above in your browser using DataLab