# Multilevel regression meta-analysis : no existing package? (Edited)

The question is in the title.

Meta-analysis with binomial distribution

I'm trying to do a meta-analysis on occurence of an event across different studies. For each study $$i$$ ($$i=1,\dots,N$$), I have the number of participants $$n_i$$ and the number of events $$k_i$$. I don't have individual data. The number of event thus follows a binomial distribution: $$k_i\sim Bin(\theta_i,n_i)$$, where I assume a random effect: $$\theta_i\sim N(\theta,\tau)$$.

Regression meta-analysis

Additionally, I'm doing a regression on $$\theta$$ using the variable $$x_i$$: $$\theta_i\sim N(\alpha+\beta x_i,\tau).$$

Multi-level regression meta-analysis

Some studies are split into groups. As they have the same baseline characteristics, I thought of using a multi-level model (first formulation): $$\theta_{i,j}\sim N(\alpha+\beta x_{i,j},\tau+\delta_j).$$ We could alternatively write it like this (although it is a bit different, second formulation): $$\theta_{i}\sim N(\alpha+\beta x_i,\tau).$$ $$\theta_{i,j}\sim N(\theta_i+\gamma_i x_{ij},\delta_j)$$

Which function to use in R

I thought of doing it with the rma.mv() function from the metareg package, but the issue is that you cannot specify the distribution of the data. As far as I understood, it assumes normally distributed data. I thought of applying a logit transformation to the probability of success $$p_i:=k_i/n_i$$, but it's not possible to the some zero counts ($$y_i=0$$ for some studies i). Any other function that could solve that? Moreover, I'm not sure if such models follow my first or second formulation.

• Are the $\tau$ values known a priori? Are groups at a lower level than studies (multiple groups per study) or a higher level? Your within-study specification seems odd - the mean doesn't differ with $j$, but the standard deviation does? Are the $\delta_j$ known a priori? Should the $\delta_j$ be treated as random effects? – Ben Bolker Aug 5 at 21:17
• $\theta_i\sim N(\theta,\tau)$ means $\theta_i$ can > 1 or <0. – user158565 Aug 5 at 21:19
• You presumably mean to have the random effect on the logit of $theta_i$? – Björn Aug 6 at 6:38
• You can do this with glmer() from the lme4 package, using family=binomial. Specify random effects as needed. – Wolfgang Aug 7 at 9:18