The data is: https://ibb.co/ry7GmwL

My model is:

lmerTest::lmer(Depression ~ Adaptive_cers*Time*Group + (1|ID), 
                                         data = data, REML = TRUE)

Depression has two values (repeated DepressiveM_1 and DepressiveM_2), Adaptive_cers is continuous, and there are two Groups.

My result is:

                                                 Estimate Std. Error
(Intercept)                                      20.89811    2.10492***
Adaptive_cers                                    -0.20528    0.06753**
TimeDepressiveM_2                                -1.02267    1.14710
GroupExperiment                                  -2.66099    3.02068
Adaptive_cers:TimeDepressiveM_2                   0.01897    0.03680
Adaptive_cers:GroupExperiment                     0.07625    0.09661
TimeDepressiveM_2:GroupExperiment                 4.36796    1.64695*
Adaptive_cers:TimeDepressiveM_2:GroupExperiment  -0.08012    0.05269

I have couple of questions about reading the results:

  1. Intercept is the DepressiveM_1 in GroupControl, I assume. The line after GroupExperiment, (Adaptive_cers:TimeDepressiveM_2) belong to the GroupExperiment or overall?

  2. How can I read the results? How could it be possible to say one point change in the interaction of TimeDepressiveM_2:GroupExperiment increases TimedepressiveM_1 in GroupControl 4.36796 point since this is a between-subject component and not related to each other. It doesn't make sense to me. First two significant results does make sense since they are in the same Group, but what about between-factors? The important comparison should not be the baselines (intercept) but DepressiveM_2 in GroupControl and GroupExperiment, but the problem is DepressiveM_2 is not the intercept and -1.02267.

Basically: how can I interpret the third siginificant result: TimeDepressiveM_2:GroupExperiment

Thanks in advance!


1 Answer 1


Your question is pretty much answered in this thread, but sometimes it's hard to see how to apply such an answer to a particular situation.

The trick to interpreting regression coefficients with interactions, when you have used treatment coding of predictors (the default in R), is to recognize that each coefficient represents a difference from a lower level of the interaction hierarchy. You start with the Intercept, for which your interpretation, "Intercept is the DepressiveM_1 in GroupControl," is partially correct; it's specifically the value for that combination of categorical predictors when your continuous predictor Adaptive_cers has a value of 0. The intercept is the outcome value at those reference values of your predictors.

The individual coefficients for DepressiveM_2, GroupExperimental and Adaptive_cers represent differences from the Intercept when each of the others is still at its reference level. Unless Adaptive_cers actually takes values close to its reference of 0, the individual coefficients for DepressiveM_2 and GroupExperimental and their apparent lack of "significance" might be misleading, as with the interactions in the model those coefficients are evaluated at an Adaptive_cers value of 0. You must be very careful in interpreting the "significance" of those individual coefficients when there are interactions. The "significant" coefficient for Adaptive_cers only holds for DepressiveM_1 in GroupControl.

The two-way interactions are the further differences beyond what wold be predicted based on the Intercept and the individual coefficients, with the third predictor still held at its reference value. As there is a higher-level three-way interaction, the caution about interpreting the "significance" of such coefficients holds here, too.

The three-way interaction is the yet further difference when none of the predictors is at its reference value.

So with that background, the TimeDepressiveM_2:GroupExperiment coefficient is the difference from what you would predict based on the individual TimeDepressiveM_2 and GroupExperiment coefficients when the value of Adaptive_cers is 0. So if Adaptive_cers is typically far from 0, that might be hard to interpret.

When models contain interactions or nonlinear terms, the difficulty with interpreting individual coefficients means it's best to evaluate all coefficients that include a predictor at once with a chunk test rather than focusing on individual coefficients. What's generally most useful for illustration is to present point estimates and confidence intervals of the outcome for particular instructive combinations of predictor values. If your main interest is the difference between GroupExperiment and GroupControl, show those estimates for both values of DepressiveM over a range of values of Adaptive_cers.

  • $\begingroup$ Thank you very much for the answer. Actually, I plotted the model. Here is the plot: ibb.co/gWs3L76 However, which one exactly reflects to the significant outcome, I could not interpret it. Could you please check it? $\endgroup$ Commented Jan 15, 2022 at 20:16
  • $\begingroup$ @helloiambrain I see two problems. First, the distribution of values around the predicted lines suggest that simple linear regression isn't working well here. I'm particularly troubled by the large number of values at low Depression levels and the broad range of higher levels. One typically expects more symmetric distributions of individual points around the predictions. You need to do quality-control checks on the distribution of residuals about the predictions and possibly move to a generalized linear mixed model (maybe a log link?) that is more appropriate to your outcome data. $\endgroup$
    – EdM
    Commented Jan 15, 2022 at 20:32
  • $\begingroup$ @helloiambrain Second, even putting aside the first problem, your Adaptive_cers values are all much greater than 0, so your single "significant" two-way interaction coefficient, which only holds at Adaptive_cers = 0, is hard to interpret. You need some type of chunk test for Group (Experiment vs Control) to see if Group is important overall. It looks like there might be a difference between the DepressiveM groups with respect to the influence of Adaptive_cers in the Experiment group that isn't seen in the control group. But you need to evaluate the confidence limits, too. $\endgroup$
    – EdM
    Commented Jan 15, 2022 at 20:35
  • $\begingroup$ Thank you very much for your clear answers. I will do a quality check for it, but need to ask something; as you know, my study has a repeated measure, moreover, our participants receive some emotion stimuli (neutral and negative) before the second measurements. Each participant has just in one condition. So, while I am checking it, should I check linearity and residuals based on each group and each time point (before and after) or overall would be enough? $\endgroup$ Commented Jan 15, 2022 at 21:18
  • $\begingroup$ @helloiambrain start with the overall test. Calling aplot() command on your lmer object gives a plot of residuals versus fitted values. Breaking down into groups isn't always helpful; with fewer cases in single groups you get more noise and less ability to see what's going on. That said, if you need it for diagnosing problems, there is a package called DHARMa that has extensive tools for examining residuals in mixed models in detail, including generalized linear mixed models; I suspect that you will need a generalized model of some type. $\endgroup$
    – EdM
    Commented Jan 15, 2022 at 21:30

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.