Skip to content
Prev 253 / 5632 Next

[R-meta] Dealing with missing variance in multilevel models: using number of replicates instead in ecological meta-analysis

Gabriele,

I think using lme() is a very reasonable strategy in this case.

The main difference between models implemented in lme() versus those
implemented in metafor() is that lme() treats the residual variance at the
lowest level (so in this case, the variance of the effect size estimate,
nested within an experiment) as unknown and estimates based on a
homoskedasticity assumption or other some other posited structure, whereas
metafor treats the variances of the effect size estimates as known
quantities. In your situation, it seems that the variances really are
unknown, and so it would be appropriate to treat them as such, modeling
them as inversely proportional to the number of replicates. You might also
consider reporting cluster-robust variance estimates for the overall
average effect size estimate (or meta-regression coefficients, if you are
going to look at moderators too). This approach would allow for the
possibility that the assumption that the variances are inversely
proportional to the number of replicates is not correct.

Here's an example of what the model might look like--note too that I think
you need to use varFixed() rather than varIdent():

meta_fit <- lme(MSA~1, random = ~ 1 | Experiment, weights=varFixed(~ 1 /
Replicates), data=dat)

library(clubSandwich)
coef_test(meta_fit, vcov = "CR2") # this will automatically cluster on the
highest-level grouping variable,


Also, this approach could be extended to another level to model the
individual (species-specific) response ratios, nested within experiments,
rather than modeling only the aggregated mean species abundance estimates.
One potential advantage of doing so is that it would allow you to study
species-level moderators of effects.

James

On Fri, Oct 6, 2017 at 4:25 AM, Gabriele Midolo <gabriele.midolo at gmail.com>
wrote: