Influence of scaling of continuous predictor on main effect of categorical predictor in LMM I have a linear mixed model that analyses the effect of multiple continuous and a categorical (two level, deviation coding of contrasts) predictor on a normally distributed outcome variable (dv). Following Barr (2021, https://psyteachr.github.io/stat-models-v1/multiple-regression.html?q=scal#standardizing-coefficients) I wanted to z-transform the continuous predictors (using scale()) to standardise the coefficients of the continuous predictors. In one of the models, R also gave back the following warning: ## Warning: Some predictor variables are on very different scales: consider rescaling.
However, I noticed that scaling changes the main effect of the categorical predictor. For the purpose of clarity, I will present a smaller but representative version of the actual model here to illustrate my point. This is the lmer command I used for this smaller model:
m = lmer(formula = dv ~ cat * cont + (1 |sub) + (1 | stm), data = df_sel)

I did this once with the raw and once with the scaled continuous predictor:

As you can see, it changes the main effect of the categorical predictor while the continuous and the interaction stay the same. I would have expected that none of the statistical values change, just the estimates. When investigating a bit, the only difference I found was that scaling gets rid of some moderate colinearity:

Can this really have such a large effect on the main effect of the categorical predictor? Am I justified in scaling the predictor?
Edit: Here are the outputs plot_model(m2, type = "int"):


 A: There are a number of principles at play here.

*

*Scaling is generally a bad idea, except for the internal scaling that's done in the software that does the estimation.  It assumes linearity of effects and assumes that standard deviations are good scale measures.  Especially for asymmmetrically distributed variables the SD is not a good measure.  And it is greatly affected by extreme values.

*Scaling makes interpretation harder.  Interpretations are easiest on the original scale.

*Categorical variables should not be scaled

*Even if you don't scale the categorical variable but you do allow it to interact with a (scaled) continuous predictor, all of the categorical effects will be changed by scaling.

*Check that the correlation pattern assumed in your model reflects the actual correlations seen in the data.  Mixed effect models when used with default correlation structures often do not fit.  See this for more.

A: Have you tried plotting the predicted values from your model? I can't reproduce your issue, so I can't be 100% sure, but the changes are coming from you reading the model printout, and what those numbers actually are. I'm going to walk through them here:
(Intercept) is the value of the outcome when continuous predictors are at 0 and categorical predictors are at the reference level. You'll see that this changes as well, which makes sense because after standardizing the continuous predictor, we've changed what zero means.
cat[S.A] Is the effect of the difference between the two levels of the categorical predictor when the continuous variable it is interacting with is at zero. As what zero is for the continuous predictor has changed, this has also changed.
cont Is the effect of the continuous variable for only the reference level of the categorical predictor, because there is an interaction. It is the change of the outcome variable associated with a change in 1 in the cont variable. This changes too, because instead of a change in 1 on the original scale, it is now a change of 1 SD.
cat[S.A]*cont This is the change in the effect of cont for the reference level compared to the S.A level.
So as you can see, the numbers reported here rely on what zero means in the context of the regression. You can plot the interaction from both models using the sjPlot package and the following code, and you should see the same pattern, as all you have done is applied a linear transformation to one variable:
library(sjPlot)
plot_model(m, type = "int")

Also, regarding the collinearity, this post could help you understand what is going on: Does standardising independent variables reduce collinearity?
