Skip to content
Prev 2492 / 5636 Next

[R-meta] Funnel Plots for Multilevel Meta

A funnel plot is simply a plot of the estimates against their standard errors (or some other measure of precision). So one can draw such a plot whether there are multiple estimates from the same study or not. Hence, funnel() in metafor will happily do so:

library(metafor)

dat <- dat.konstantopoulos2011
res <- rma.mv(yi, vi, random = ~ 1 | district/school, data=dat)
res
funnel(res)

One could indicate (with different colors or plotting symbols) which estimates belong to the same study. 

cols <- palette.colors(length(unique(dat$district)), palette="Alphabet")
cols <- cols[as.numeric(factor(dat$district))]
funnel(res, col=cols)

Then one can see how points from the same study (or in this case, 'district') cluster together.

To what extent such a plot is indicative of publication bias / small study effects is a different issue (but the same applies even to simpler meta-analyses with a single estimate per study).

Best,
Wolfgang