Hanne,
I would be interested to know what solution you employed for this in the end, as I have stumbled across this post while trying to work out why my 4 component PCA and EFA results are so different in STATA, despite so many sources suggesting the results are often fairly similar. I now understand it, thanks to this posting. The solution I have employed is to:
Run my pca in stata and rotate the solution in STATA using the following code:
pca item1 item2 ..... item27, comp(4)
rotate, varimax
This gives me the 27x4 matrix of components (eigenvectors), the rotated version of this matrix and the 4x4 rotation matrix
Run the code which normalises my matrix of eigenvectors, such that it is a matrix of loadings (and the sum of squares = eigenvalue)
estat loadings, cnorm(eigen)
As noted through this post, this normalises the unrotated matrix from the previous step. There doesn't seem to be a simple way to normalise the rotated matrix of eigenvectors or, equivalently, rotate the normalised matrix. I therefore copied both the normalised matrix, and the 4x4 rotation matrix from the previous step into Excel and carried out the rotation outside STATA. I am planning to get SPSS installed to see if the results I have are replicated by SPSS.
Did you do something similar and/or does this make sense to you?
Thanks.
I would be interested to know what solution you employed for this in the end, as I have stumbled across this post while trying to work out why my 4 component PCA and EFA results are so different in STATA, despite so many sources suggesting the results are often fairly similar. I now understand it, thanks to this posting. The solution I have employed is to:
Run my pca in stata and rotate the solution in STATA using the following code:
pca item1 item2 ..... item27, comp(4)
rotate, varimax
This gives me the 27x4 matrix of components (eigenvectors), the rotated version of this matrix and the 4x4 rotation matrix
Run the code which normalises my matrix of eigenvectors, such that it is a matrix of loadings (and the sum of squares = eigenvalue)
estat loadings, cnorm(eigen)
As noted through this post, this normalises the unrotated matrix from the previous step. There doesn't seem to be a simple way to normalise the rotated matrix of eigenvectors or, equivalently, rotate the normalised matrix. I therefore copied both the normalised matrix, and the 4x4 rotation matrix from the previous step into Excel and carried out the rotation outside STATA. I am planning to get SPSS installed to see if the results I have are replicated by SPSS.
Did you do something similar and/or does this make sense to you?
Thanks.
Comment