[R-SIG-Finance] princomp(): how to get the component's names
Adams, Zeno
Zeno.Adams at ebs.edu
Wed Dec 2 17:27:49 CET 2009
You can look at the loadings by using summary(pca, loadings = TRUE)
In your case x,y, and z are uncorrelated so that each principal component has 100% loading on one factor but zero on all the others.
If you modify your example a little so that the series are at least somewhat correlated, e.g.
^
x <- 1:300 + rnorm(300)
y <- 0.8*x + runif(300)
z <- 0.2*x + rnorm(300, mean=10, sd=5)
dat <- data.frame(x,y,z)
pca <- princomp(dat, corr=T)
then
s <- summary(pca, loading = TRUE)
will give you more meaningful loadings.
For instance, if you are interested in creating an index of the three series you could use the command
PC1 <- as.matrix(dat) %*% as.matrix(loadings(s)[,1]/sum(loadings(s)[,1]))
(this is probably not the most elegant way of doing it, but I cant see a shorter way at the moment)
plot(x, type = "l")
lines(y, type = "l", col = 2)
lines(z, type = "l", col = 3)
lines(PC1, type = "l", col = 4, lty = 2, lwd = 2)
hope this helps
Zeno
-----Ursprüngliche Nachricht-----
Von: r-sig-finance-bounces at stat.math.ethz.ch [mailto:r-sig-finance-bounces at stat.math.ethz.ch] Im Auftrag von Konrad Hoppe
Gesendet: Mittwoch, 2. Dezember 2009 16:55
An: r-sig-finance at stat.math.ethz.ch
Betreff: [R-SIG-Finance] princomp(): how to get the component's names
Dear mailing list members,
I got a question about principal component analysis. I know that's not the
main topic here, but perhaps somebody have used it already. I'm wondering
how to get the names of the particular components.
Let me give you an example:
x <- rnorm(300)
y <- runif(300)
z <- rnorm(300, mean=10, sd=5)
dat <- data.frame(x,y,z)
pca <- princomp(dat, corr=T)
summary(pca)
and now I would like to know which is for example the first component?
Can anybody help me?
regards
[[alternative HTML version deleted]]
_______________________________________________
R-SIG-Finance at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only.
-- If you want to post, subscribe first.
EBS European Business School gemeinnuetzige GmbH - Sitz der Gesellschaft: Wiesbaden, Amtsgericht Wiesbaden HRB 19951 - Umsatzsteuer-ID DE 113891213 Geschaeftsfuehrer: Prof. Dr. Christopher Jahns, Praesident; Prof. Dr. Rolf Tilmes, Dekan; Sabine Fuchs, CMO; Aufsichtsrat: Dr. Hellmut K. Albrecht, Vorsitzender
More information about the R-SIG-Finance
mailing list