funnel.meta  R Documentation 
Draw a funnel plot which can be used to assess small study effects in metaanalysis. A contourenhanced funnel plot can also be produced to assess causes of funnel plot asymmetry.
## S3 method for class 'meta'
funnel(
x,
xlim = NULL,
ylim = NULL,
xlab = NULL,
ylab = NULL,
common = x$common,
random = x$random,
axes = TRUE,
pch = if (!inherits(x, "trimfill")) 21 else ifelse(x$trimfill, 1, 21),
text = NULL,
cex = 1,
lty.common = 2,
lty.random = 9,
lwd = 1,
lwd.common = lwd,
lwd.random = lwd,
col = "black",
bg = "darkgray",
col.common = "black",
col.random = "black",
log,
yaxis,
contour.levels = NULL,
col.contour,
ref = ifelse(is_relative_effect(x$sm), 1, 0),
level = if (common  random) x$level else NULL,
studlab = FALSE,
cex.studlab = 0.8,
pos.studlab = 2,
ref.triangle = FALSE,
lty.ref = 1,
lwd.ref = lwd,
col.ref = "black",
lty.ref.triangle = 5,
backtransf = x$backtransf,
warn.deprecated = gs("warn.deprecated"),
...
)
x 
An object of class 
xlim 
The x limits (min,max) of the plot. 
ylim 
The y limits (min,max) of the plot. 
xlab 
A label for the xaxis. 
ylab 
A label for the yaxis. 
common 
A logical indicating whether the common effect estimate should be plotted. 
random 
A logical indicating whether the random effects estimate should be plotted. 
axes 
A logical indicating whether axes should be drawn on the plot. 
pch 
The plotting symbol used for individual studies. 
text 
A character vector specifying the text to be used instead of plotting symbol. 
cex 
The magnification to be used for plotting symbol. 
lty.common 
Line type (common effect estimate). 
lty.random 
Line type (random effects estimate). 
lwd 
The line width for confidence intervals (if 
lwd.common 
The line width for common effect estimate (if

lwd.random 
The line width for random effects estimate (if

col 
A vector with colour of plotting symbols. 
bg 
A vector with background colour of plotting symbols (only
used if 
col.common 
Colour of line representing common effect estimate. 
col.random 
Colour of line representing random effects estimate. 
log 
A character string which contains 
yaxis 
A character string indicating which type of weights
are to be used. Either 
contour.levels 
A numeric vector specifying contour levels to produce contourenhanced funnel plot. 
col.contour 
Colour of contours. 
ref 
Reference value (null effect) used to produce contourenhanced funnel plot. 
level 
The confidence level utilised in the plot. For the
funnel plot, confidence limits are not drawn if

studlab 
A logical indicating whether study labels should be
printed in the graph. A vector with study labels can also be
provided (must be of same length as 
cex.studlab 
Size of study labels, see argument 
pos.studlab 
Position of study labels, see argument

ref.triangle 
A logical indicating whether approximate confidence limits should be printed around reference value (null effect). 
lty.ref 
Line type (reference value). 
lwd.ref 
The line width for the reference value and
corresponding confidence intervals (if 
col.ref 
Colour of line representing reference value. 
lty.ref.triangle 
Line type (confidence intervals of reference value). 
backtransf 
A logical indicating whether results for relative
summary measures (argument 
warn.deprecated 
A logical indicating whether warnings should be printed if deprecated arguments are used. 
... 
Additional arguments (to catch deprecated arguments). moment). 
A funnel plot (Light & Pillemer, 1984) is drawn in the active
graphics window. If common
is TRUE, the estimate of the
common effect model is plotted as a vertical line. Similarly, if
random
is TRUE, the estimate of the random effects model is
plotted. If level
is not NULL, the corresponding approximate
confidence limits are drawn around the common effect estimate (if
common
is TRUE) or the random effects estimate (if
random
is TRUE and common
is FALSE).
In the funnel plot, the standard error of the treatment estimates
is plotted on the yaxis by default (yaxis = "se"
) which is
likely to be the best choice (Sterne & Egger, 2001). Only exception
is metaanalysis of diagnostic test accuracy studies (Deeks et al.,
2005) where the inverse of the square root of the effective
study size is used (yaxis = "ess"
). Other possible choices
for yaxis
are "invvar"
(inverse of the variance),
"invse"
(inverse of the standard error), "size"
(study size), and "invsqrtsize"
(1 / sqrt(study size)).
If argument yaxis
is not equal to "size"
,
"invsqrtsize"
or "ess"
, contourenhanced funnel plots
can be produced (Peters et al., 2008) by specifying the contour
levels (argument contour.levels
). By default (argument
col.contour
missing), suitable gray levels will be used to
distinguish the contours. Different colours can be chosen by
argument col.contour
.
Guido Schwarzer guido.schwarzer@uniklinikfreiburg.de, Petra Graham pgraham@efs.mq.edu.au
Deeks JJ, Macaskill P, Irwig L (2005): The performance of tests of publication bias and other sample size effects in systematic reviews of diagnostic test accuracy was assessed. Journal of Clinical Epidemiology, 58:882–93
Light RJ & Pillemer DB (1984): Summing Up. The Science of Reviewing Research. Cambridge: Harvard University Press
Peters JL, Sutton AJ, Jones DR, Abrams KR, Rushton L (2008): Contourenhanced metaanalysis funnel plots help distinguish publication bias from other causes of asymmetry. Journal of Clinical Epidemiology, 61, 991–6
Sterne JAC & Egger M (2001): Funnel plots for detecting bias in metaanalysis: Guidelines on choice of axis. Journal of Clinical Epidemiology, 54, 1046–55
metabias
, metabin
,
metagen
, radial
data(Olkin1995)
m1 < metabin(ev.exp, n.exp, ev.cont, n.cont,
data = Olkin1995, subset = c(41, 47, 51, 59),
studlab = paste(author, year),
sm = "RR", method = "I")
oldpar < par(mfrow = c(2, 2))
# Standard funnel plot
#
funnel(m1)
# Funnel plot with confidence intervals, common effect estimate and
# contours
#
cc < funnel(m1, common = TRUE,
level = 0.95, contour = c(0.9, 0.95, 0.99))$col.contour
legend(0.05, 0.05,
c("0.1 > p > 0.05", "0.05 > p > 0.01", "< 0.01"), fill = cc)
# Contourenhanced funnel plot with userchosen colours
#
funnel(m1, common = TRUE,
level = 0.95, contour = c(0.9, 0.95, 0.99),
col.contour = c("darkgreen", "green", "lightgreen"),
lwd = 2, cex = 2, pch = 16, studlab = TRUE, cex.studlab = 1.25)
legend(0.05, 0.05,
c("0.1 > p > 0.05", "0.05 > p > 0.01", "< 0.01"),
fill = c("darkgreen", "green", "lightgreen"))
par(oldpar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.