bayesmeta
object.Generates a funnel plot, showing effect estimates (\(y_i\)) vs. their standard errors (\(\sigma_i\)).
# S3 method for 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, ...)
a bayesmeta
object.
main title for the plot.
x-axis title.
y-axis title.
value at which a vertical ‘reference’ line should be drawn
(default is 0). The line can be suppressed by setting this argument
to ‘NA
’.
a (logical
) flag indicating whether the “fixed effect”
(FE) funnel (for \(\tau=0\)) is supposed to be shown along with
the “random effects” (RE) funnel.
a (logical
) flag indicating whether a legend identifying
‘RE’ and ‘FE’ funnels is supposed to be shown.
other arguments passed to the plot()
function.
Christian Roever christian.roever@med.uni-goettingen.de
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\)).
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). tools:::Rd_expr_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. tools:::Rd_expr_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. tools:::Rd_expr_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. tools:::Rd_expr_doi("10.1080/10618600.2016.1276840").
bayesmeta
, funnel
data("dat.egger2001", package="metafor")
es <- escalc(measure="OR", ai=ai, n1i=n1i, ci=ci, n2i=n2i,
slab=study, data=dat.egger2001)
if (FALSE) {
bm <- bayesmeta(es)
print(bm)
forestplot(bm)
funnel(bm, xlab="logarithmic odds ratio", ylab="standard error",
main="Egger (2001) example data")
}
Run the code above in your browser using DataLab