##### Analyse en composante principales # Exemple introductif data(iris) iris[,1:4]->X summary(X) cov(X) scale(X)->X cov(X) biplot(prcomp(X)) # Etude des notes avec le fichier notes.dat read.table("notes.dat",header=T,row.names=1)->X # Centrage / Réduction prcomp(X,scale=FALSE,retx=TRUE)->ACP1 plot(ACP1) round(cov(ACP1$x),1) # matrice de variance des PC # Pourcentage d'informtation (variance) ACP1$sdev^2 # variance de chaque nouvelle variable varianceTotale<-sum(ACP1$sdev^2) sum(diag(cov(X))) ACP1$sdev^2 / varianceTotale biplot(ACP1,c(1,2)) abline(h=0,v=0) # FactoMineR albert<-c(10,8,5,5,20) # individu supplémentaire PCA(rbind(X,albert),ind.sup=10,scale.unit=FALSE)->ACP2 pdf("PC23-notes.pdf") layout(matrix(c(1,2),1,2)) plot(ACP2,c(2,3),choix="var") plot(ACP2,c(2,3),choix="ind") dev.off() library(MASS) data(crabs) crabs[,4:8]->X prcomp(X,scale=TRUE,retx=TRUE)->ACP1crabs layout(matrix(c(1,2),1,2)) plot(ACP1crabs$x[,2:3],pch=c("o","x")[as.numeric(crabs$sex)],col=c("blue","orange")[as.numeric(crabs$sp)]) abline(v=0,h=0) biplot(ACP1crabs,2:3) ### prétraitement des crabes pairs(X, pch=c("o","x")[as.numeric(crabs$sex)], col=c("blue","orange")[as.numeric(crabs$sp)]) Y<-X for (i in 1:nrow(X)) Y[i,]<-X[i,] / X[i,3] # plus court Y<- X[,-3]/X[,3] names(Y)<-paste(names(Y),"/CL",sep="") names(Y) pairs(Y, pch=c("o","x")[as.numeric(crabs$sex)], col=c("blue","orange")[as.numeric(crabs$sp)])