Solved – Difference in PCA loadings between R and SPSS

pcarspss

I performed two principal components analyses: in R and in SPSS – using the same dataset and the same variables. I got the same results – at least to some point. The eigenvalues are the same (I used the correlation matrix in both cases, no rotation), but the loadings are different.

I decided to take a look at some plots, so below you can see two plots of those R and SPSS PCA loadings. The first plot presents a little bit changed loadings of PCA in R. Namely, these are the opposite signs of R loadings. The second plot presents the original loading of PCA in SPSS. These plots are the same, but I can't figure out why they different in numbers.

Does R or SPSS do any implicit loadings transformation?

enter image description here

Best Answer

The difference is in how R and SPSS interpret the word "loading". Loadings in PCA should be defined as eigenvectors of the covariance matrix scaled by the square roots of the respective eigenvalues. Please see e.g. my answer here for motivation:

This is the definition followed by SPSS. However, what R (unfortunately) calls "loadings" are non-scaled eigenvectors of the covariance matrix. Therefore, your two plots should differ in scaling by a square root of the first eigenvalue. As the scaling factor seems to be $\approx 2.5$, the first eigenvalue should be approximately equal to $2.5^2=6.25$, as @whuber hinted in the comments above.