setwd("C:\\Users\\authorized user\\Dropbox\\STAT445\\week4\\tutorials") ##################################################### #Q8.19 page 476 National Track Records for Women ##################################################### (Data.matrix<-read.csv("RecordsForFemales.csv")) #RecordsForMen.csv x=c(100,200,400,800,1500,3000,42195) speed=function(a,b){return(a/b)} Data.matrix[,5:8]=Data.matrix[,5:8]*60 data=matrix(unlist(diag(sapply(x,speed,Data.matrix[,2:8]))),ncol=7) (eig=eigen(cor(data))) (eig$values/sum(eig$values)) plot(eig$values) (eig1=eigen(cov(data))) #construct principal components #from correlation matrix PC=scale(data) %*% (eig$vectors) index=order(PC[,1]) #rank the countries according to the PC1 Data.matrix[,1][index] #construct principal components #from covariance matrix PC1= data %*% (eig1$vectors) index1=order(PC1[,1]) #rank the countries according to the PC1 Data.matrix[,1][index1] (eig1$values/sum(eig1$values)) plot(eig1$values) ##################################################### ##################################################### #Q8.20 page 476 National Track Records for Men ##################################################### (Data.matrix1<-read.csv("RecordsForMen.csv")) #RecordsForMen.csv x1=c(100,200,400,800,1500,5000,10000,42195) Data.matrix1[,5:9]=Data.matrix1[,5:9]*60 data1=matrix(unlist(diag(sapply(x1,speed,Data.matrix1[,2:9]))),ncol=8) (eig2=eigen(cor(data1))) (eig2$values/sum(eig2$values)) plot(eig2$values) #construct principal components #from correlation matrix PC_men=scale(data1) %*% (eig2$vectors) index2=order(PC_men[,1]) #rank the countries according to the PC1 Data.matrix1[,1][index2] #####################################################