What is the difference between

  1. normalizing the variables and doing PCA;
  2. using scale=TRUE option (without normalizing the variables) in prcomp function in R?
  • $\begingroup$ I erased your last sentence/paragraph because it was very hard to understand while your question is very clear already without it. $\endgroup$ – amoeba Mar 18 '17 at 15:59

No difference. Type debug(prcomp) before running prcomp. The third line of the function reads: x <- scale(x, center = center, scale = scale.); ie. you will either scale within the function if you set scale = TRUE during function call or you will have the scaling done originally by you.

Having said that, when applying PCA in general it is a good idea to scale your variables. Otherwise the magnitude to certain variables dominates the associations between the variables in the sample. Unless all your variables are recorded in the same scale and/or the difference in variable magnitudes are of interest I would suggest you normalise your data prior to PCA. This issue has been revisited multiple time within CV eg. 1, 2, 3.

| cite | improve this answer | |
  • $\begingroup$ What if all your variables are on the same scale? $\endgroup$ – Jack Armstrong Apr 30 '19 at 7:23
  • $\begingroup$ We probably do not need the normalisation in that case because the variables will be comparable in their original scales. Please read through the linked threads for more details. $\endgroup$ – usεr11852 Apr 30 '19 at 8:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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