funnel.netmeta {netmeta} | R 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 |
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 ( |
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 |
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 |
method.bias |
A character vector indicating which test(s) for
funnel plot asymmetry to use. Admissible values are
|
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
|
backtransf |
A logical indicating whether results for relative
summary measures (argument |
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 |
rank |
Deprecated argument (replaced by |
mm |
Deprecated argument (replaced by |
... |
Additional graphical arguments passed as arguments to
|
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)