Procédez à l'étude des données associées aux fichiers suivants : exoReg1.txt.
> reg1=read.table("exoReg1.txt")
> acp = princomp(reg1,cor=TRUE)
> acp
Call:
princomp(x = reg1, cor = TRUE)
Standard deviations:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
1.79207900 1.25543181 0.44595569 0.10893290 0.04001203
5 variables and 13 observations.
> summary(acp)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 1.7920790 1.2554318 0.44595569 0.108932897 0.0400120302
Proportion of Variance 0.6423094 0.3152218 0.03977530 0.002373275 0.0003201925
Cumulative Proportion 0.6423094 0.9575312 0.99730653 0.999679807 1.0000000000
> par(mfrow=c(1,2))
> plot (acp)
> biplot(acp)

> acp$sdev
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
1.79207900 1.25543181 0.44595569 0.10893290 0.04001203
> acp$sdev*acp$sdev
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
3.211547154 1.576109031 0.198876476 0.011866376 0.001600963
> eigen(cor(reg1))
$values
[1] 3.211547154 1.576109031 0.198876476 0.011866376 0.001600963
$vectors
[,1] [,2] [,3] [,4] [,5]
[1,] 0.5533800 -0.003342949 0.2106032 0.80495783 -0.0380602
[2,] 0.4011658 0.512413468 0.5812090 -0.41341229 0.2603552
[3,] 0.4682512 -0.409678782 -0.3896683 -0.19084641 0.6516444
[4,] -0.3189779 -0.607968833 0.6746443 0.05282357 0.2658790
[5,] -0.4602504 0.447167145 -0.1041923 0.37672337 0.6598747
> acp$loadings
Loadings:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Y -0.553 0.211 0.805
X1 -0.401 0.512 0.581 -0.413 0.260
X2 -0.468 -0.410 -0.390 -0.191 0.652
X3 0.319 -0.608 0.675 0.266
X4 0.460 0.447 -0.104 0.377 0.660
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
SS loadings 1.0 1.0 1.0 1.0 1.0
Proportion Var 0.2 0.2 0.2 0.2 0.2
Cumulative Var 0.2 0.4 0.6 0.8 1.0
> acp$center
Y X1 X2 X3 X4
95.438462 7.461538 48.153846 11.769231 30.000000
> acp$scale
Y X1 X2 X3 X4
14.431138 5.651622 14.950411 6.153846 16.081523
> acp$n.obs
[1] 13
> acp$scores
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
1 1.9357055 1.9733074 -0.54408887 0.025000659 0.03952149
2 2.6585707 0.2364222 -0.25919227 0.092331415 -0.03498866
3 -1.3182914 0.1980815 -0.05971679 -0.131317652 -0.09155472
4 0.8778336 1.6377820 0.17323706 -0.111200481 -0.02929345
5 -0.3185821 0.5060423 -0.79289121 0.031163656 0.01900113
6 -1.3657941 0.1811666 0.13452792 0.210201419 -0.02279333
7 -1.0930548 -2.2163607 -0.21936861 -0.077556747 0.01231682
8 2.8065014 -0.7319342 0.47873229 -0.172077644 0.03163279
9 0.3882477 -1.4928554 -0.01325269 0.060519403 -0.04967684
10 -2.2266661 1.9107006 0.89514664 0.005335703 0.01961902
11 1.8569418 -1.3580321 0.58348404 0.117665351 0.02698841
12 -2.1537352 -0.3992735 -0.02755253 0.064219514 0.03552010
13 -2.0476770 -0.4450468 -0.34906497 -0.114284596 0.04370725
Réaliser une ACP sur les données iris et comparer les projections obtenues avec les deux méthodes sur les données iris :
> data(iris)
> irisACP = princomp(iris[1:4],cor=TRUE)
> irisACP2 = prcomp(iris[1:4],scale=TRUE)
> par(mfrow=c(1,2))
> plot(irisACP$scores[,1],irisACP$scores[,2],pch=c(rep(21,times=50),rep(22,times=50),rep(24,times=50)),
bg=c("red", "green3", "blue")[unclass(iris$Species)],xlab="1ere composante",ylab="2eme composante")
> legend(2.,2.4,c("Setosa","Versicolor","Virginica"),pch=c(21,22,24),pt.bg=c("red","green","blue"))
> plot(irisACP2$x[,1],irisACP2$x[,2],pch=c(rep(21,times=50),rep(22,times=50),rep(24,times=50)),
bg=c("red", "green3", "blue")[unclass(iris$Species)],xlab="1ere composante",ylab="2eme composante")
> legend(2.,2.4,c("Setosa","Versicolor","Virginica"),pch=c(21,22,24),pt.bg=c("red","green","blue"))
