I am currently running a multiple linear regression, and I have a question regarding how to properly construct an interaction term between one binary variable (sex) and continuous variable (age) to the model.

I've been advised to standardize variables before creating a product term and entering it into the regression model. This is done to avoid potential multicollinearity between interaction term and component variables.

However, I am confused if I should follow this advice and standardize my binary variable (sex) before creating a product term with the standardized continuous variable (age)?

Some people suggest that both dummy and continuous variables should be standardized to stand on the same ground while some suggest that there's no need to standardize categorical (dummy) variables.

Can you kindly advise what might be a more appropriate way to handle this? Thank you!


4 Answers 4


It makes little sense to standardize dummy variables

  1. It cannot be increased by a standard deviation so the regular interpretation for standardized coefficients does not apply

  2. Moreover, the standard interpretation of the dummy variable, showing difference in average level of Y between two categories is lost

Your interaction results could be interpreted as follows for:

Among those who are females (sex dummy 1=female 0=male), 1 standard deviation point increase in age (standardized age, mean=0, std=1) has a positive/negative (significant / insignificant) effect of (exact value of the coefficient of the interaction term) on your dependent variable (Y-variable).

The links below might help

page 5 of this link http://polisci.msu.edu/jacoby/icpsr/regress3/lectures/week2/8.RelImport.pdf

page 9 of this link https://stat.ethz.ch/~maathuis/teaching/stat423/handouts/Chapter7.pdf

  • $\begingroup$ That's not the correct interpretation for the coefficient of a dummy variable (your point #2) or of an interaction term that comprises a dummy variable (subsequent paragraph). $\endgroup$ Mar 7, 2016 at 5:28

The "mean centring" procedure for categorical variables is different from the one you would use for continuous variable (in R: scale(x, center=T, scale=F). You can mean center categorical variables by using an effect coding strategy instead of traditional dummy coding (0/1). The choice of the coding scheme does not really matter (as they are linearly equivalent => so basically you can retrieve results for one knowing results of the other). However it makes a big difference in the interpretation/reading of the results.

In your case I don't think it really makes sense to "mean center" (effect code) the gender variable because (1) this variable has only 2 modalities and (2) you interact it with a continuous variable (i.e., age). Say the reference category for gender is "male", in your model (y ~ gender + age + genderage) "age" will represent mean effect when gender=male and "genderage" the marginal effect of moving from male to female.

If you decide to "mean center" (effect code) gender, then "age" will correspond to the mean effect of age when gender is set to its mean (so basically something in between male and female). If you compare (y ~ gender + age) and (y ~ gender + age + gender*age) you will find little difference in the estimates for "age" between the two models, what is not the case if you don't mean center "gender".

Personally, I found mean centring (effect coding) for categorical variables useful when I want to estimate interaction effects between 2 (or more) of them - Then I don't have to keep track of the reference situation (e.g., male - young - etc.). Hope this helps!


In terms of specifics on how to set up the interactions, this web page seems to be helpful: http://www.restore.ac.uk/srme/www/fac/soc/wie/research-new/srme/modules/mod3/11/

You don't need to standardize the variables (unless they are already standardized).

I'd set it up like this (limiting this list to a small number of ages):

age sex age*sex

10 1 10

20 1 20

30 1 30

10 0 0

20 0 0

30 0 0


By interaction term do you mean a higher order term? So instead of:

fit <- lm(y ~ x1 + x2, data = mydata)

You can do

fit <- lm(y ~ x1 + x2 + x1*x2, data = mydata)

(looking back at this answer it's probably not what you looking for. I would suggest trying setting your sex variable to be -1 or 1, this way at least the mean of the product term between sex and age is zero.)

  • 1
    $\begingroup$ You did not answer the question at all. $\endgroup$
    – Firebug
    Apr 22, 2017 at 22:40

Your Answer

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

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