Let´s say that my PCA analysis extracted 2 components, which explain 80% of the variance before rotation. The components were then rotated using oblique (Direct Oblimin) rotation, so SPSS cannot compute how much percentage of variance each component explain. When I plot the graph, usually editors require these percentages in brackets after the components. So I want to compute relative percentage of variance for each component. So if data looks like this


PC1 accounts for 60% of variance, eigenvalue 6.000; PC2 accounts for 20% of variance, eigenvalue 2.000; Total - 80% variance, eigenvalue 8.000;


PC1: eigenvalue 5.000; PC2: eigenvalue 4.000;

can I compute these percentages this way? I expect, that after rotation total variance explained by both components doesn´t change, so it should be 80%. Am I right?

In unrotated solution, you can compute variance explained by component 2 this way: eigenvalue of component 2/total eigenvalue * total percentage explained = 2/8*80%=20%

We can also compute, that 1.000 eigenvalue = 10% of variance

Can I use this equation (1.000 eigenvalue=10%) to compute variance explained by each component after rotation, so variance explained by PC1 after rotation should be 50% (eigenvalue=5 so 50%) and variance explained by PC2 after rotation should be 40%(eigenvalue=4 so 40%)? Of course in this case we cannot compute total variance by PC1+PC2 because components are correlated and total variance should be still 80% (maybe).

I don´t think that it is so easy, because SPSS would give me these numbers. So can I somehow compute (from data above line) how much % of variance is explained by PC1 after oblique rotation?


  • 9
    $\begingroup$ You can't speak of "eigenvalues" after rotation, even orthogonal rotation. Perhaps you mean sum of squared loadings for a principal component, after rotation. When rotation is oblique, this sum of squares tells nothing about the amount of variance explained, because components aren't orthogonal anymore. So, you shouldn't report any percentage of variance explained. $\endgroup$
    – ttnphns
    Commented Feb 15, 2012 at 6:10
  • $\begingroup$ Another note. The question title is strange. As far as you are aware, there's two types of loadings after oblique rotation, pattern coefficients (which are regression coef-s) and structure coefficients (which are correlation coef-s). Then, what else "loadings" are you striving to compute? $\endgroup$
    – ttnphns
    Commented Feb 15, 2012 at 6:15
  • $\begingroup$ Ok, my fault. So what these rotation sums of squared loadings for PC can tell me? Because in orthogonal rotation they are something like eigenvalues, from which I can compute this way amount of variance explained. $\endgroup$
    – Noro
    Commented Feb 15, 2012 at 7:26
  • 1
    $\begingroup$ In my view there's nothing wrong with reporting the variance explained by each of a set of correlated components, just as there's nothing wrong with showing each predictor's zero-order r-squared in a regression context. Just don't make the mistake (as has been noted) of thinking you can add all of these up to arrive at the overall variance explained. $\endgroup$
    – rolando2
    Commented Feb 15, 2012 at 19:30
  • 1
    $\begingroup$ The solution as a whole explains the same % of variance, whether you rotate the components obliquely or not. In the case you describe, that % is 80%. $\endgroup$
    – rolando2
    Commented Feb 15, 2012 at 23:30

1 Answer 1


I think you're on solid ground. Another useful thing to do is to call up a loading plot ('/plot rotation'), then to reanalyze using varimax rotation and again ask for a loading plot. But I hope you're analyzing objective data and not opinion data: using PCA on the latter is well-known to be a mistake, because it treats as part of an underlying dimension some information that should be treated as unique to particular variables, or even as measurement error.

  • 1
    $\begingroup$ See ttnphns' comments. $\endgroup$
    – Alexis
    Commented May 6, 2014 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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