funnel.bayesmeta {bayesmeta} | R Documentation |
Generate a funnel plot for a bayesmeta
object.
Description
Generates a funnel plot, showing effect estimates (y_i
)
vs. their standard errors (\sigma_i
).
Usage
## S3 method for class 'bayesmeta'
funnel(x, main=deparse(substitute(x)), xlab=expression("effect "*y[i]),
ylab=expression("standard error "*sigma[i]),
zero=0.0, FE=FALSE, legend=FE, ...)
Arguments
x |
a |
main |
main title for the plot. |
xlab |
x-axis title. |
ylab |
y-axis title. |
zero |
value at which a vertical ‘reference’ line should be drawn
(default is 0). The line can be suppressed by setting this argument
to ‘ |
FE |
a ( |
legend |
a ( |
... |
other arguments passed to the |
Details
Generates a funnel plot of effect estimates (y_i
)
on the x-axis vs. their associated standard errors
(\sigma_i
) on the y-axis (Note that the y-axis is
pointing downwards). For many studies (large k
) and in the
absence of publication (selection) bias, the plot should resemble a
(more or less) symmetric “funnel” shape (Sterne et al,
2005). Presence of publication bias, i.e., selection bias due to the
fact that more dramatic effects may have higher chances of publication
than less pronounced (or less controversial) findings, may cause
asymmetry in the plot; especially towards the bottom of the plot,
studies may then populate a preferred corner.
Besides the k
individual studies that are shown as circles, a
vertical reference line is shown; its position is determined by
the ‘zero
’ argument. The “funnel” indicated in
grey shows the estimated central 95% prediction interval for
“new” effect estimates y_i
conditional on a
particular standard error \sigma_i
, which results from
convolving the prediction interval for the true value
\theta_i
with a normal distribution with variance
\sigma_i^2
. At \sigma_i=0
(top of
the funnel), this simply corresponds to the “plain” prediction
interval for \theta_i
. Convolutions are computed via
the convolve()
function, using the algorithm described
in Roever and Friede (2017).
By setting the “FE=TRUE
” argument, one may request a
“fixed effect” (FE) funnel along with the “random
effects” (RE) funnel that is shown by default. The FE funnel is
analogous to the RE funnel, except that it is based on
homogeneity (\tau=0
).
Note
Especially for few studies (small k
), the conclusions from a
forest plot are usually not very obvious (Sterne et al, 2011;
Terrin et al., 2005). Publication bias often requires rather
large sample sizes to become apparent; funnel plots should hence
always be interpreted with caution.
Author(s)
Christian Roever christian.roever@med.uni-goettingen.de
References
J.A.C. Sterne, B.J. Becker and M. Egger. The funnel plot. In: H.R. Rothstein, A.J. Sutton and M. Borenstein, eds. Publication bias in meta-analysis - prevention, assessment and adjustments. Wiley and Sons, 2005 (Chapter 5). doi:10.1002/0470870168.ch5.
J.A.C. Sterne et al. Recommendations for examining and interpreting funnel plot asymmetry in meta-analyses of randomised controlled trials. BMJ, 343:d4002, 2011. doi:10.1136/bmj.d4002.
N. Terrin, C.H. Schmid and J. Lau. In an empirical evaluation of the funnel plot, researchers could not visually identify publication bias. Journal of Clinical Epidemiology, 58(9):894-901, 2005. doi:10.1016/j.jclinepi.2005.01.006.
C. Roever, T. Friede. Discrete approximation of a mixture distribution via restricted divergence. Journal of Computational and Graphical Statistics, 26(1):217-222, 2017. doi:10.1080/10618600.2016.1276840.
See Also
Examples
data("dat.egger2001", package="metafor")
es <- escalc(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i,
slab=study, data=dat.egger2001)
## Not run:
bm <- bayesmeta(es)
print(bm)
forestplot(bm)
funnel(bm, xlab="logarithmic odds ratio", ylab="standard error",
main="Egger (2001) example data")
## End(Not run)