How to find the significance of different levels of an interaction in a generalised linear mixed model? I am using a glmm to find the effect of lockdown (Yes or No), sex (Male or Female), age (Young, Teenager, Adult) and site (A or B) on hormone concentrations (Continuous). Using lrtest, I have compared different nested models with each other to determine the significance of the different explanatory variables. However, I am unsure how to find the significance of different levels.
My final model is: Concentration ~ Lockdown + Age + Sex + Site + LockdownSex + SiteSex + (1|individual).
When I run "anova(model)" it gives me the values for only one level of each variable, i.e. SiteA:SexMale. How can I get the significance of other levels in the interaction, i.e. SiteB:SexFemale?


 A: With interactions and default coding in R, the regression coefficients at each level represent differences of outcomes from what would be predicted based on lower-level coefficients. That is, the intercept is the predicted outcome when all predictors are at reference levels (categorical predictors) or 0 (continuous predictors). Each individual coefficient is the difference from the intercept associated with that predictor when other predictors are at reference/0. Each 2-way interaction coefficient is the extra difference for the 2 predictors when neither of them is at reference/0 but other predictors are.
Although the standard output of coefficient estimates thus shows fewer values than you have combinations of predictors, the information is still in the model to get predictions and standard errors/p-values for any combination of predictor values, or for differences between predictions. This can be done by hand by combining the coefficient estimates, the covariance matrix of the estimates (not shown in the display, but included in the object produced by the model), and the formula for the variance of a weighted sum of variables. It's simpler to use other software tools like the R emmeans package or the linearHypothesis() function in the car package.
The anova() output evaluates the overall association of the predictor or interaction with outcome. For example, the single anova() report for AGE_CAT is for the combined association of all levels of that predictor with outcome, while the 2 individual coefficients reported in the first display are for differences in outcome associated with each, versus the reference level. You should be aware that there are different types of anova() that can give different results. See this page for an introduction.
A: I had a similar question in this post and answered my question. Please review it for further explanation.
You can use car::Anova function:
Anova(model5, type = 3)

If an interaction  exist (for example, LOCKDOWN * SEX), you can use emmeans function to detect difference:
emmeans(model5, pairwise ~ LOCKDOWN * SEX, adjust = "bonferroni", mode = "linear.predictor", type = "Score")

