funnel.netmeta: 'Comparison-adjusted' funnel plot

View source: R/funnel.netmeta.R

funnel.netmetaR Documentation

‘Comparison-adjusted’ funnel plot

Description

Draw a ‘comparison-adjusted’ funnel plot to assess funnel plot asymmetry in network meta-analysis.

Usage

## S3 method for class 'netmeta'
funnel(
  x,
  order,
  pooled = ifelse(x$random, "random", "common"),
  xlab = NULL,
  level = x$level,
  pch,
  col = "black",
  legend = TRUE,
  pos.legend = "topright",
  pos.tests = "topleft",
  lump.comparator = FALSE,
  text.comparator = "comparator",
  method.bias,
  text.linreg = "(Egger)",
  text.rank = "(Begg-Mazumdar)",
  text.mm = "(Thompson-Sharp)",
  sep.trts = x$sep.trts,
  nchar.trts = x$nchar.trts,
  backtransf = x$backtransf,
  digits.pval = gs("digits.pval"),
  warn.deprecated = gs("warn.deprecated"),
  linreg = FALSE,
  rank = FALSE,
  mm = FALSE,
  ...
)

Arguments

x

An object of class netmeta.

order

A mandatory character or numerical vector specifying the order of treatments or list of comparators (see Details).

pooled

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

xlab

A label for the x-axis.

level

The confidence level utilised in the plot. For the funnel plot, confidence limits are not drawn if yaxis = "size".

pch

The plotting symbol(s) used for individual studies within direct comparisons.

col

The colour(s) used for individual studies within direct comparisons.

legend

A logical indicating whether a legend with information on direct comparisons should be added to the plot.

pos.legend

The position of the legend describing plotting symbols and colours for direct comparisons.

pos.tests

The position of results for test(s) of funnel plot asymmetry.

lump.comparator

A logical indicating whether comparators should be lumped, e.g., to specify inactive treatments. information on direct comparisons should be added to the plot.

text.comparator

A character string used in the plot to label the comparator if lump.comparator is TRUE.

method.bias

A character vector indicating which test(s) for funnel plot asymmetry to use. Admissible values are "Begg", "Egger", and "Thompson", can be abbreviated. See function metabias.

text.linreg

A character string used in the plot to label the Egger test for funnel plot asymmetry.

text.rank

A character string used in the plot to label the Begg test for funnel plot asymmetry.

text.mm

A character string used in the plot to label the Thompson-Sharp test for funnel plot asymmetry.

sep.trts

A character used in comparison names as separator between treatment labels.

nchar.trts

A numeric defining the minimum number of characters used to create unique treatment names (see netmeta).

backtransf

A logical indicating whether results for relative summary measures (argument sm equal to "OR", "RR", "HR", or "IRR") should be back transformed in funnel plots. If backtransf = TRUE, results for sm = "OR" are printed as odds ratios rather than log odds ratios, for example.

digits.pval

Minimal number of significant digits for p-value of test(s) for funnel plot asymmetry.

warn.deprecated

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

linreg

Deprecated argument (replaced by method.bias).

rank

Deprecated argument (replaced by method.bias).

mm

Deprecated argument (replaced by method.bias).

...

Additional graphical arguments passed as arguments to funnel.meta.

Details

A ‘comparison-adjusted’ funnel plot (Chaimani & Salanti, 2012) is drawn in the active graphics window.

Argument order is mandatory to determine the order of treatments (Chaimani et al., 2013):

“Before using this plot, investigators should order the treatments in a meaningful way and make assumptions about how small studies differ from large ones. For example, if they anticipate that newer treatments are favored in small trials, then they could name the treatments from oldest to newest so that all comparisons refer to ‘old versus new intervention’. Other possibilities include defining the comparisons so that all refer to an active treatment versus placebo or sponsored versus non-sponsored intervention.”

Alternatively, it is possible to only provide a single or few treatment name(s) in argument order to define the comparator(s). In this case only comparisons with this / these treatment(s) will be considered. If argument lump.comparator is TRUE, all comparators will be lumped into a single group. The text for this group can be specified with argument text.comparator.

In the funnel plot, if yaxis is "se", the standard error of the treatment estimates is plotted on the y-axis which is likely to be the best choice (Sterne & Egger, 2001). Other possible choices for yaxis are "invvar" (inverse of the variance), "invse" (inverse of the standard error), and "size" (study size).

Value

A data frame with the following columns:

studlab

Study label.

treat1

Label/Number for first treatment.

treat2

Label/Number for second treatment.

comparison

Treatment comparison.

TE

Estimate of treatment effect, e.g., log odds ratio.

TE.direct

Pooled estimate from direct evidence.

TE.adj

‘Comparison-adjusted’ treatment effect (TE - TE.direct).

seTE

Standard error of treatment estimate.

pch

Plotting symbol(s).

col

Colour of plotting symbol(s).

Author(s)

Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de

References

Chaimani A & Salanti G (2012): Using network meta-analysis to evaluate the existence of small-study effects in a network of interventions. Research Synthesis Methods, 3, 161–76

Chaimani A, Higgins JP, Mavridis D, Spyridonos P, Salanti G (2013): Graphical tools for network meta-analysis in STATA. PLOS ONE, 8, e76654

Sterne JAC & Egger M (2001): Funnel plots for detecting bias in meta-analysis: Guidelines on choice of axis. Journal of Clinical Epidemiology, 54, 1046–55

See Also

netmeta, funnel.meta, metabias

Examples

## Not run: 
data(Senn2013)

net1 <- netmeta(TE, seTE, treat1, treat2, studlab,
  data = Senn2013, sm = "MD")

# 'Comparison-adjusted' funnel plot not created as argument 'order'
# is missing
#
try(funnel(net1))

# Only show comparisons with placebo
#
funnel(net1, order = "pl")

# Add result for Egger test of funnel plot asymmetry
#
funnel(net1, order = "pl", method.bias = "Egger",
  digits.pval = 2)

# (Non-sensical) alphabetic order of treatments with placebo as
# last treatment
#
ord <- c("a", "b", "me", "mi", "pi", "r", "si", "su", "v", "pl")
funnel(net1, order = ord)

# Add results for tests of funnel plot asymmetry and use different
# plotting symbols and colours
#
funnel(net1, order = ord,
  pch = rep(c(15:18, 1), 3), col = 1:3,
  method.bias = c("Egger", "Begg", "Thompson"), digits.pval = 2)

# Same results for tests of funnel plot asymmetry using reversed
# order of treatments
#
funnel(net1, order = rev(ord),
  pch = rep(c(15:18, 1), 3), col = 1:3,
  method.bias = c("Egger", "Begg", "Thompson"), digits.pval = 2)

# Calculate tests for funnel plot asymmetry
#
f1 <- funnel(net1, order = ord)
#
metabias(metagen(TE.adj, seTE, data = f1))
metabias(metagen(TE.adj, seTE, data = f1), method = "Begg")
metabias(metagen(TE.adj, seTE, data = f1), method = "Thompson")

## End(Not run)


guido-s/netmeta documentation built on April 8, 2024, 5:31 a.m.