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

2

20

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.

Meenen answered 14/3, 2015 at 1:38 Comment(1)
Its calculated in the print method, and is not returned. Look at stats:::print.summary.princomp ti see where it is generated.Sommelier
B
25

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

Bradleigh answered 14/3, 2015 at 1:52 Comment(0)
P
13

Just:

summary(pc)$importance[2,]
Paleoecology answered 5/6, 2020 at 19:2 Comment(1)
And the cumulative proportions are in summary(pc)$importance[3,]Thuthucydides

© 2022 - 2024 — McMap. All rights reserved.