library(mlbench) data(Zoo) help(Zoo) head(Zoo) n <- dim(Zoo)[1] p <- dim(Zoo)[2]-1 X <- as.integer(Zoo[,1]==T) for (i in 2:p) { if (i == 13) X <- cbind(X,Zoo[,i]) else X <- cbind(X,as.integer(Zoo[,i]==T)) } colnames(X) <-names(Zoo)[1:p] pc.obj <- princomp(X,cor=T,scores=T) summary(pc.obj) pc.obj$loadings PC.1 <- pc.obj$scores[,1] PC.2 <- pc.obj$scores[,2] library(lattice) type <- levels(Zoo$type) plot.new() xyplot(PC.2~PC.1,xlab = "First eigen-axis",ylab = "Second eigen-axis", groups=Zoo$type,pch=16,col=1:length(type)) legend(x="topright",legend=type,pch=16,col=1:length(type))