How to get "proportion of variance" vector from princomp in R

Neeraj Bhatnagar picture Neeraj Bhatnagar · Mar 14, 2015 · Viewed 10.3k times · Source

This should be very basic and I hope someone can help me. I ran a principal component analysis with the following call:

pca <- princomp(....)
summary(pca)

Summary pca returns this description:

                          PC1    PC2     PC3
Standard deviation     2.8788 2.7862  2.1845
Proportion of Variance 0.1977 0.1549 0.07831

Look at the second line which shows the variance explained by each PC. How can I programmatically extract this vector in my script from the variable pca. I have done enough search and cannot find an answer.

Answer

Marat Talipov picture Marat Talipov · Mar 14, 2015

Proportion of Variance is nothing else than normalized standard deviations. You can calculate them as PoV <- pca$sdev^2/sum(pca$sdev^2)