Perhaps this may help you.
Regards
data(iris3)
ir <- rbind(iris3[ , , 1], iris3[ , , 2], iris3[ , , 3])
ir.pca <- princomp(ir)
biplot(ir.pca)
# Rehacer Biplot
# Calcular Factor para re-escalar scores y eigenvectores
lambda <- ir.pca$sdev[1:2] * sqrt(ir.pca$n.obs)
scores <- t( t(ir.pca$scores[ , c(1, 2)]) / lambda
)
variables <- t( t(ir.pca$loadings[ , c(1, 2)]) * lambda )
x11()
plot(scores, type="p", xlim=c(-0.22, 0.24), ylim=c(-0.2, 0.2),
pch=c(rep(16, 50), rep(21, 50), rep(14, 50)),
col=c(rep("red", 50), rep("blue", 50), rep("green", 50)))
abline(v=0, h=0, lty=3)
par(new=TRUE)
plot(variables, type="n", xaxt="n", yaxt="n", xlim=c(-22, 24),
ylim=c(-20, 20))
arrows(0, 0, variables[ , 1], variables[ , 2], len=0.1, col="red")
text(2*variables, rownames(variables), col="red", xpd=TRUE)
axis(3); axis(4)
On 25 Feb 2009 at 9:52, Axel Strau? wrote:
Date sent: Wed, 25 Feb 2009 09:52:54 +0100
From: Axel Strau? <a.strauss at tu-bs.de>
To: R-help at r-project.org
Subject: Re: [R] biplot.princomp - changing score
labels
Prof Brian Ripley schrieb:
On Tue, 24 Feb 2009, Axel Strau? wrote:
OK, the one thing I figured out:
Is should be like:
biplot(test.pca, cex=c(2,1), col=c("red","green")...
to change size, colours etc separately. But I still don't know how
change lables of observations to symbols properly.
That's not part of the design of the function, so just make a copy
and edit to meet your fancies.
The designer of biplot.princomp.
The idea behind my question was actually not a "styling one" but to
provide additional information in the graph. My observations have
different species richness and I wanted to adopt symbol size to the
number of species to show the change of species richness along the
PCs. Anyway, thanks for the comment - and for designing
biplot.princomp.
Axel
--
H?ctor Villalobos <hvillalo at ipn.mx>
CICIMAR - IPN
A.P. 592. Col. Centro
La Paz, Baja California Sur, M?XICO. 23000
Tels. (+52 612) 122 53 44; 123 46 58; 123 47 34 ext. 82425
Fax. (+52 612) 122 53 22