data <- read.table("C:/Documents and Settings/steeleb/My Documents/Math 543/counties.txt",sep=",",header=TRUE) head(data) data <- na.omit(data) dem <- data$democrat > data$republican I <- data$pop>1000000 data <- data[I,1:11] dem <- dem[I] X <- data[,4:dim(data)[2]] X.names <- c("pop.dens","pop","p.chng","a6574","a75","crime","colge","income") colnames(X) <- X.names p <- dim(data)[2] - 3 v.names <- colnames(data) e <- eigen(cor(X)) ############################# examine eigenvalues and vectors - cleaner output #################### m <- cbind(1:p,e$values,100*e$values/sum(e$values),100*cumsum(e$values)/sum(e$values)) colnames(m) <- c("e-pair","eigenvalue","%acc't by","% cumulative acc't by") options(digits = 3) m vectrs <- e$vectors rownames(vectrs) <-colnames(X) colnames(vectrs) <- c("PC 1","PC 2","PC 3","PC 4","PC 5","PC 6","PC 7","PC 8") vectrs sort(vectrs[,1]) sort(vectrs[,2]) sort(vectrs[,3]) s <- 1:p par(mfrow=c(2,1)) plot(1:p,vectrs[,1],xaxt="n",xlab="Variable",ylab="Coefficient",pch=16) axis(1,at=1:p,labels=colnames(X)) abline(h=0) plot(1:p,vectrs[,2],xaxt="n",xlab="Variable",ylab="Coefficient",pch=16) axis(1,at=1:p,labels=colnames(X)) abline(h=0) plot(1:p,vectrs[,3],xaxt="n",xlab="Variable",ylab="Coefficient",pch=16) axis(1,at=1:p,labels=colnames(X)) abline(h=0) ############################# plot principal components ##################### par(mfrow=c(1,1)) PC <- scale(X)%*%vectrs plot(PC[,1],PC[,2],xlab="PC 1",ylab="PC 2",type="p") points(PC[dem,1],PC[dem,2],col=3,pch=16) points(PC[dem==F,1],PC[dem==F,2],col=2,pch=16) identify(PC[,1],PC[,2],labels = data$county) plot(PC[,3],PC[,2],xlab="PC 1",ylab="PC 2",type="p") identify(PC[,3],PC[,2],labels = data$county)