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

lme4-nlmemixed modelmultiple-comparisonsr

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?

Best Answer

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.