# Performing multiple testing correction (Bonferroni / FDR) on p-value from lmer()

So, I have a linear mixed model (using the function lmer() in R) as follows:

lmer(set_metabolites ~ scale(total_metabolite_B) + scale(BMI) + scale(Age) + (1|Family)


Meaning, that I have a 1 metabolite (metabolite_B) that I want to test against a set of metabolites (n = 300) for 1000 individuals. In the model I control for BMI and Age, and my random effect is Family.

This is done, and my results is a list 300 elements long, with beta values, SE and P-values. Now my question is, as I understand the multiple correction, in this case I have 300 independent test (right? one for each model). I now I need to correct for multiple testing, but I am pretty new with linear mixed models. Should I just take my list of 300 P-values and calculate the Bonferroni correction over those?

You're able to use Bonferoni but one should NEVER use it. The Holm–Bonferroni method is uniformly more powerful than Bonferoni, has the same assumptions, and does the same thing.

If you want a more appropriate correction that's even more powerful you'll have to start making assumptions and estimating conditional dependence between tests.

There seems to be a similar question on cross-validated (here). I think there is nothing wrong with using Bonferroni correction in your case (using a linear mixed model doesn't really effect the logic behind Bonferroni). But as one comment on the linked question is saying, it might be an bit too conservative estimate. He advises to do bootstrap or permutation testing. If you want to go that way, I would recommend you to use a bootstrapping method (based on this paper)