netmeta (version 1.2-1)

forest.netmeta: Forest plot for network meta-analysis

Description

Draws a forest plot in the active graphics window (using grid graphics system).

Usage

# S3 method for netmeta
forest(
  x,
  pooled = ifelse(x$comb.random, "random", "fixed"),
  reference.group = x$reference.group,
  baseline.reference = x$baseline.reference,
  labels = x$trts,
  leftcols = "studlab",
  leftlabs,
  rightcols = c("effect", "ci"),
  rightlabs,
  digits = gs("digits.forest"),
  small.values = "good",
  digits.Pscore = 2,
  smlab = NULL,
  sortvar = x$seq,
  backtransf = x$backtransf,
  lab.NA = ".",
  add.data,
  drop.reference.group = FALSE,
  col.by = "black",
  print.byvar = FALSE,
  ...
)

Arguments

x

An object of class netmeta.

pooled

A character string indicating whether results for the fixed effect ("fixed") or random effects model ("random") should be plotted. Can be abbreviated.

reference.group

Reference treatment(s).

baseline.reference

A logical indicating whether results should be expressed as comparisons of other treatments versus the reference treatment (default) or vice versa.

labels

An optional vector with treatment labels.

leftcols

A character vector specifying columns to be plotted on the left side of the forest plot or a logical value (see Details).

leftlabs

A character vector specifying labels for (additional) columns on left side of the forest plot (see Details).

rightcols

A character vector specifying columns to be plotted on the right side of the forest plot or a logical value (see Details).

rightlabs

A character vector specifying labels for (additional) columns on right side of the forest plot (see Details).

digits

Minimal number of significant digits for treatment effects and confidence intervals, see print.default.

small.values

A character string specifying whether small treatment effects indicate a beneficial ("good") or harmful ("bad") effect, can be abbreviated; see netrank.

digits.Pscore

Minimal number of significant digits for P-score, see print.default and netrank.

smlab

A label printed at top of figure. By default, text indicating either fixed effect or random effects model is printed.

sortvar

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

backtransf

A logical indicating whether results should be back transformed in forest plots. If backtransf = TRUE, results for sm = "OR" are presented as odds ratios rather than log odds ratios, for example.

lab.NA

A character string to label missing values.

add.data

An optional data frame with additional columns to print in forest plot (see Details).

drop.reference.group

A logical indicating whether the reference group should be printed in the forest plot.

col.by

The colour to print information on subgroups.

print.byvar

A logical indicating whether the name of the grouping variable should be printed in front of the group labels.

Additional arguments for forest.meta function.

Details

A forest plot, also called confidence interval plot, is drawn in the active graphics window.

Argument sortvar can be either a numeric or character vector with length of number of treatments. If sortvar is numeric the order function is utilised internally to determine the order of values. If sortvar is character it must be a permutation of the treatment names. It is also possible to provide either sortvar = Pscore, sortvar = "Pscore", sortvar = -Pscore, or sortvar = "-Pscore" in order to sort treatments according to the ranking generated by netrank which is called internally. Similar expressions are possible to sort by treatment comparisons (sortvar = TE, etc.), standard error (sortvar = seTE), number of studies with direct treatment comparisons (sortvar = k), and direct evidence proportion (sortvar = prop.direct, see also netmeasures).

The arguments leftcols and rightcols can be used to specify columns which are plotted on the left and right side of the forest plot, respectively. The following columns are available:

Name Definition
"studlab" Treatments
"TE" Network estimates (either from fixed or random effects model)
"seTE" Corresponding standard errors
"Pscore" P-scores (see netrank)
"k" Number of studies in pairwise comparisons
"prop.direct" Direct evidence proportions (see netmeasures)
"effect" (Back-transformed) network estimates
"ci" Confidence intervals

As a sidenote, the rather odd column name "studlab" to describe the treatment comparisons comes from internally calling forest.meta which uses study labels as the essential information.

Argument add.data can be used to add additional columns to the forest plot. This argument must be a data frame with row names equal to the treatment names in R object x, i.e., x$trts.

See help page of forest.meta for more information on the generation of forest plots and additional arguments.

See Also

forest.meta

Examples

Run this code
# NOT RUN {
data(Senn2013)

# }
# NOT RUN {
# Conduct network meta-analysis
#
net1 <- netmeta(TE, seTE, treat1, treat2, studlab,
                data = Senn2013, sm = "MD")

forest(net1, ref = "plac")
forest(net1, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference", rightcols = FALSE)
# }
# NOT RUN {
# Random effects effect model
#
net2 <- netmeta(TE, seTE, treat1, treat2, studlab,
                data = Senn2013, sm = "MD", comb.fixed = FALSE)

forest(net2, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference")

# }
# NOT RUN {
# Add column with P-Scores on right side of forest plot
#
forest(net2, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference",
       rightcols = c("effect", "ci", "Pscore"),
       just.addcols = "right")

# Add column with P-Scores on left side of forest plot
#
forest(net2, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference",
       leftcols = c("studlab", "Pscore"),
       just.addcols = "right")

# Sort forest plot by descending P-Score
#
forest(net2, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference",
       rightcols = c("effect", "ci", "Pscore"),
       just.addcols = "right",
       sortvar = -Pscore)

# Drop reference group and sort by and print number of studies with
# direct treatment comparisons
#
forest(net2, xlim = c(-1.5, 1), ref = "plac",
       xlab = "HbA1c difference",
       leftcols = c("studlab", "k"),
       leftlabs = c("Contrast\nto Placebo", "Direct\nComparisons"),
       sortvar = -k,
       drop = TRUE,
       smlab = "Random Effects Model")
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab