Glmnet: How to avoid glmnet from standardizing the factor/dummy variables?

Having read this question and this link, I already know that model.matrix can help convert data frame with factors into a design matrix.

My question is if you pass this model.matrix into glmnet or cv.glmnet function with the argument standardize set to TRUE, it still scales those dummy variable columns, am I correct ? So it means that glmnet still cannot differentiate the categorical variables from the continuous variables and handle them differently. So how can I make glmnet standardize the non-categorical columns but not the categorical columns ?

• I think this is probably meant to be on SO... Anyway, the obvious thing would be to pass to glmnet a model matrix where only the variable you wish to be standardised are standardised and set the argument standardize to FALSE. – usεr11852 Jul 15 '17 at 12:08
• Yes but we are suppose to standardise the validation set when we train the model during cross validation . By setting 'standardise' to 'FALSE' , does it mean we are skipping this step in the 'cv.glmnet' function ? This standardization thing really bugs me.l because it makes me feel like I am implementing something that is not entirely correct . – mynameisJEFF Jul 15 '17 at 13:00
• I probably misinterpreter something...What would you train on a non-standardised set and then validate on a standardised one? You might use caret and define your own cross-validation procedure if you are bothered so you don't use cv.glmnet at all. – usεr11852 Jul 15 '17 at 13:31