How to plot PCA output?
Hi Jessica, THanks for pointing that out. The scaling in biplot() doesn't seem to make sense to me, however. The default value for scale=1 therefore lambda ^ (1-scale) -> lambda ^ 0 which is 1 regardless of what lambda is. Which can't be right? Anyway, I won't worry about it anymore as you and Bryan have confirmed that I am doing the right thing by plotting the $x data and will ignore biplot(). Many thanks, Chris
On 07/05/2012 15:25, "Jessica Streicher" <j.streicher at micromata.de> wrote:
And i always forget the question.. I haven't understood biplots a 100%, but from what i gleaned this scaling is done so it looks better/is easier to read, while the scaling retains certain properties of the biplot (something about projecting). If you want to use the data for anything else, i wouldn't use that scaling, just use what the prcomp() or princomp() function returns to you. Am 07.05.2012 um 16:11 schrieb Jessica Streicher:
Biplot, depending on what parameters you give it, scales the data in a certain way. See http://stat.ethz.ch/R-manual/R-patched/library/stats/html/biplot.princomp .html scale The variables are scaled by lambda ^ scale and the observations are scaled by lambda ^ (1-scale) where lambda are the singular values as computed by princomp. Normally 0 <= scale <= 1, and a warning will be issued if the specified scale is outside this range. Am 07.05.2012 um 16:01 schrieb Christian Cole:
Hi Jessica, Yes, that does help. It confirms my digging around in the prcomp object. I was plotting $x, but wasn't sure whether this was appropriate. Mainly because the data ranges are different in $x than when plotted by biplot() - as I mentioned my reply to Bryan. Do you know if this difference is data range matters? Many thanks, Chris On 07/05/2012 14:24, "Jessica Streicher" <j.streicher at micromata.de> wrote:
That depends on what you want to plot there. Basically, you could just use plot() with pcaResult$x. You might need to define which PCs you want to plot there though. pcaResult<-prcomp(iris[,1:4]) plot(pcaResult$x) # gives the first 2 PCs plot(pcaResult$x[,2:3]) #gives the second vs the 3rd PC or if you want to see more you can use pairs() pairs(pcaResult$x) if you want things colored, theres the col parameter that works for both functions: pairs(pcaResult$x,col=iris[,5]) Does this help? Am 07.05.2012 um 12:22 schrieb Christian Cole:
I have a decent sized matrix (36 x 11,000) that I have preformed a PCA on with prcomp(), but due to the large number of variables I can't plot the result with biplot(). How else can I plot the PCA output? I tried posting this before, but got no responses so I'm trying again. Surely this is a common problem, but I can't find a solution with google? The University of Dundee is a registered Scottish Charity, No: SC015096
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
The University of Dundee is a registered Scottish Charity, No: SC015096
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
The University of Dundee is a registered Scottish Charity, No: SC015096