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.

  • $\begingroup$ 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? $\endgroup$ – Ben Bolker Aug 5 '19 at 21:17
  • $\begingroup$ $\theta_i\sim N(\theta,\tau)$ means $\theta_i$ can > 1 or <0. $\endgroup$ – user158565 Aug 5 '19 at 21:19
  • $\begingroup$ You presumably mean to have the random effect on the logit of $theta_i$? $\endgroup$ – Björn Aug 6 '19 at 6:38
  • $\begingroup$ You can do this with glmer() from the lme4 package, using family=binomial. Specify random effects as needed. $\endgroup$ – Wolfgang Aug 7 '19 at 9:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.