Hoping to get some clarification on my understanding of interaction terms in a GLM model I have produced.

I have written the following model

interactionmodel <- lme(ChangeTotal ~ PreTotalCentre + SexCode
                                   + AgeCentre + SexCode*PreTotalCentre 
                                   + AgeCentre*PreTotalCentre,
                                   data = Fitness,
                                   random = ~ 1|Class,
                                   method = "ML",
                                   na.action = na.exclude)

Where I am looking to explain the change in a physical fitness assessment with predictors of initial score (termed PreTotal), Sex, and Age. Age and PreTotal have been grand mean centred.

Sex has been coded as follows

 SexCode = dplyr::recode(Sex, `0` = "Male", `1` = "Female")

The output of this model is as follows

Linear mixed-effects model fit by maximum likelihood
  Data: Fitness_OAzc 

Random effects:
 Formula: ~1 | Class
        (Intercept) Residual
StdDev:    13.42854 26.20813

Fixed effects:  ChangeTotal ~ PreTotalCentre + SexCode + AgeCentre + SexCode *      PreTotalCentre + AgeCentre * PreTotalCentre 
                           (Intr) PrTtlC SxCdMl AgCntr PTC:SC
PreTotalCentre              0.629                            
SexCodeMale                -0.759 -0.782                     
AgeCentre                  -0.034 -0.015  0.050              
PreTotalCentre:SexCodeMale -0.530 -0.833  0.604  0.053       
PreTotalCentre:AgeCentre    0.000 -0.087 -0.003  0.185  0.168

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-4.411066018 -0.514522220  0.003675318  0.532391577  4.837327085 

Number of Observations: 354
Number of Groups: 7 

                             Value       Std.Error DF     t-value     p-value
(Intercept)                 -20.19162    8.386217   342  -2.407715     0.0166
PreTotalCentre              -0.73703     0.045738   342  -16.114380    0.0000
SexCodeMale                  41.61622    6.787769   342   6.131060     0.0000
AgeCentre                   -0.27988     0.338434   342  -0.826994     0.4088
PreTotalCentre:SexCodeMale  0.35325      0.055494   342   6.365576     0.0000
PreTotalCentre:AgeCentre    0.01218      0.004421   342   2.756044     0.0062

My understanding for interpreting the intercepts would be as follows:

  1. For every 1 point increase in PreTotal above the mean, its expected the Change would decrease by 0.73 points
  2. We'd expect Males to have a 40 point change compared to Females
  3. For every 1 year increase in Age, we'd expect a -0.27 decrease in the Change
  4. Assuming that the PreTotal score is the same distance from the mean, we'd expect Males to have a larger Change of approximately 0.35
  5. Assuming that the PreTotal score is the same distance from the mean, we'd expect a 1 year increase in age to result in a 0.01 increase

Are these interpretations correct? My dataset shows that females have a higher mean and percent change than males, and now I am thinking that if I coded the males as 0, and females a 1 that despite the output saying Males that math (bPreTotalSex) would mean that females would expect a greater change given the same PreTotal score since a 0 (male) would cancel out the term.

Would appreciate some confirmation and further insight! Thank you in advance!

All analysis done in R using NLME package for the model


1 Answer 1


Are these interpretations correct?

Not without important qualifications.

With standard R coding, individual coefficients for predictors involved in interactions are for situations where the interacting predictors are at 0 (for continuous interacting predictors) or reference levels (for categorical interacting predictors). That requires changes to interpretations 1, 2 and 3.

As these data are coded, the individual coefficient for SexCodeMale is the extra difference in outcome for males only when PreTotalCentre equals 0. That for AgeCentre is the change in outcome for a 1-unit change in AgeCentre only when PreTotalCentre equals 0. That for PreTotalCentre is the change in outcome for a 1-unit change of PreTotalCentre only when SexCode represents females and AgeCentre is 0.

For the interaction terms, it can help to remember that they are products of the individual numerical codings. The coefficients are the associated extra changes in outcome associated with each unit of that product, beyond what you might have predicted based on lower-level individual or interaction terms. That has the following implications.

For your interpretation 4: that interaction coefficient is the extra change associated with males for each unit increase in PreTotalCentre.

For your interpretation 5: that interaction coefficient is the extra change associated with a 1-unit increase in AgeCentre for each unit increase in_ PreTotalCentre, and vice-versa.

I recommend against trying to interpret any of these coefficients individually. Instead, use the model to display results for particular combinations of predictor values that are of interest, based on your understanding of the subject matter.

  • $\begingroup$ Thank for the response, this is definitely helpful. Just to make sure that I am understanding correctly, for each unit increase in PreTotalCentre we would expect males to have an extra change of 0.35. So despite the fact that females had a greater mean change this could be due to more females at lower PreTotalCentre scores $\endgroup$ Commented Mar 21, 2023 at 10:57
  • $\begingroup$ @TibialCuriosity it's very hard to say what's going on without knowing the distribution of all the predictors between males and females. Lower ages or lower PreTotalCentre scores or assignments to Classes with different random intercepts in females might be at work. Note that you probably should NOT be evaluating a change score anyway; best practice is to use pre-score as a predictor and post-score (not the change score) as the outcome. See this page and its links, including this page. $\endgroup$
    – EdM
    Commented Mar 21, 2023 at 14:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.