![]() |
################################################################################ pdf("pcafirst.pdf",width=4.5,height=4.5) x1=c(-5,-4,-3,-2,-0.5,1,1.5,2.5,4,5.5) x2=c(-3.5,0.5,-3,-2,-0.5,-1.5,3.5,4,0.5,2) x=cbind(x1,x2) set.seed(124) x.pc=princomp(x) l1=-x.pc$loa[,1] par(mar=c(4,4,2,2)) plot(x1,x2,xlab="x1", ylab="x2",cex.lab=1.2,xlim=c(-7,7),ylim=c(-7,7)) text(x1+0.5,x2,1:nrow(x)) c1=8;c2=8;arrows(-l1[1]*c1,-l1[2]*c2,l1[1]*c1,l1[2]*c2,length=0.20,angle=20) t1=cbind(x.pc$sco[,1],rep(0,nrow(x))) t1rot=t1%*%t(x.pc$loa) points(t1rot,pch=3) for (i in 1:nrow(x)){ segments(t1rot[i,1],t1rot[i,2],x[i,1],x[i,2],lty=2) } abline(h=0,lty=3) abline(v=0,lty=3) text(6,5,expression(u[1]),cex=1.4) dev.off() |