I am using preProcess in caret to knnImpute.
As far as I understand, the imputation should include all the variables in the analysis and KNN imputation can only be done effectively if data is on the same scale. (Ex - if one 'satisfaction rating' variable has range of 1 - 10 but 'likelihood to recommend' has levels 1 - 5 then 'satisfaction rating' would have a greater effect on the Euclidian distance, making the nearest neighbours falsely selected). Also, the same standardisation has to be performed on all the predictors.
Categorical variables are dummy coded. What is the justification for scaling and centring these binary variables (as required for KNN imputation)? How do you interpret the mean of a binary variable? Is it reasonable to standardise categorical variables?