I would like to run a meta-regression on my dataset using DerSimonian-Laird (DL) random-effects model. For some studies in my dataset, I have more than one datapoint. Therefore, I would like to attribute the same random effect to each study with same id or, in other words, I would like to use a fixed effects model to analyse the studies with the same id and a random effects model with studies with different id.

Right now, I am using the following command:

rma(x, sei=x_se, mods = ~ y, data=data1, method="DL")

I tried to add the argument "random" to this function, to attribute the same random effect to each study with the same id, but rma.uni does not have a "random" argument:

rma(x, sei=x_se, mods = ~ y, data=data1, method="DL", random = ~ 1 | id)

On the other hand, the function rma.mv has a "random", but I can only choose between the methods "ML" or "REML":

rma.mv(x, x_se^2, mods = ~ y, data=data1, method="REML", random = ~ 1 | id)

Is there a way that I can do this meta-regression using DL random effects model and attributing the same random effect to each study with same id? Should I use rma.uni, rma.mv or another function?

  • $\begingroup$ Is there any reason why you want to use the DerSimonian and Laird method? $\endgroup$
    – mdewey
    Aug 9, 2017 at 9:52
  • $\begingroup$ Yes, the reason is because I have used it for my other analyses and would like to stay consistent with the methods I used for all the analyses on this dataset. $\endgroup$
    – user1505
    Aug 10, 2017 at 6:35
  • $\begingroup$ As you note, rma.mv() can do ML and REML. Extensions of other methods (like DL) are model specific and do not easily lend themselves to generalization. For example Jackson et al. (2010) (DOI: 10.1002/sim.3602) have extended DL to a particular multivariate model. But change one aspect of that model (e.g., add another random effect) and you have to try to re-derive everything from scratch. And why not just use ML/REML for all of your analyses anyway? $\endgroup$
    – Wolfgang
    Aug 10, 2017 at 9:16
  • 1
    $\begingroup$ The reason why I used DL is that I thought it was the most standard and common method... In the meanwhile, I found a way that I think might work: If I first used rma and then robust: robust(rma(x, sei=x_se, mods = ~ y, data=data1, method="DL"),data$id) $\endgroup$
    – user1505
    Aug 10, 2017 at 9:44

1 Answer 1


It is not often appreicated that there are several different ways of estimating $\tau^2$. As you state in your comment the method due to DerSimonian and Laird is probably the best known and has been widely used. However the series of simulation studies carried out by Wolfgang Viechtbauer and reported in hsi 2005 article entitled "Bias and Efficiency of Meta-Analytic Variance Estimators in the Random-Effects Model" suggests that no one method can be considered universally better than all the others. The REML method seems to have generally good properties overall and perhaps is the best choice.

Of course you could always run the model using various methods and compare $\tau^2$ but although that might satisfy one's curiosity it is not clear what you would do with the answers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.