Fiche TD - R
Fiche TD - R
—————
Initiation à l’analyse en composantes principales
A.B. Dufour & J.R. Lobry
—————
2 Les données 2
4 Centrage et réduction 4
4.1 Centrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Centrage et réduction . . . . . . . . . . . . . . . . . . . . . . . . 5
1
A.B. Dufour & J.R. Lobry
Références 18
1 Introduction
Les méthodes d’analyse multivariées sont une branche à part entière des statis-
tiques. Nous vous proposons ici une introduction, très sommaire, à l’une d’entre
elles, connue sous le nom d’analyse en composantes principales (ACP). Plus
précisément, nous n’utiliserons qu’une des variantes de l’ACP, l’ACP centrée et
réduite appelée aussi ACP normée.
2 Les données
Nous allons utiliser un jeu de données très simple extrait de survey du paquetage
MASS [3].
library(MASS)
data(survey)
names(survey)
[1] "Sex" "[Link]" "[Link]" "[Link]" "Fold" "Pulse" "Clap" "Exer" "Smoke"
[10] "Height" "M.I" "Age"
Pour ne pas nous embêter par la suite avec les données manquantes, nous ne
conservons que les individus entièrement documentés :
[Link] <- survey[[Link](survey), ]
14 16 18 20 22
● ●● ●
●● ● ●
●
●● ●
●●● ● ● ● ●
22
●●●● ● ● ● ●● ● ●
●
●●●●● ● ●● ● ●
●●●●●● ●●●● ●●
● ● ●●● ● ● ● ● ●● ●
20
●●●●●
●● ● ● ●● ●● ● ● ●●
●
●●●●
●●●●
●
●
●● ● ● ● ●● ●●● ●
●
●
●●● ● ● ● ● ●
●
●● ●●
●
● ●
●●● ●
●●● ●●●
Empan1 ●
● ●●●
●●
● ● ● ●●
● ●● ●● ● ● ●
●●●● ● ●● ●
18
●
●
●
●●●
●
●●●
● ● ●● ●
●
●●●●●
●● ● ● ● ●● ●● ●●● ●●●●● ●
●● ● ● ●
●●●●●
● ●● ● ●●●● ●●
●●●●●
●●● ● ● ●● ● ●●
●●●
●
●
●●
●● ●●●● ● ●
● ●●● ● ●
● ● ● ●●
16
●●● ● ● ●
● ● ●
●● ● ●● ●
● ●
14
● ●
● ●
● ●
●●● ● ●●
● ● ● ● ●●
●● ● ●● ●
22
●● ● ●● ●●
●● ● ●
● ●
●● ● ● ●
● ●● ● ● ●● ●● ●
● ● ● ●● ● ● ●
●● ● ● ● ●
● ● ● ●●
20
●●●
● ● ● ● ●
●● ●●●●●
●● ●
●● ●● ● ●● ●
●●●● ● ● ● ●
●●●●●
● ●● ● ● ●●●● ●
●● ●● ●
● ● ● ●●● ● ● ●● ●
●●●● ●●●
●●
●
Empan2 ● ●●
● ● ● ●
18
●●●
● ●●
●●● ●●●● ●●● ●●●●●● ● ●● ●
●
●●●●● ● ●●
● ●●● ● ● ● ●● ●
● ●●● ●●
●● ●
● ●
●●●
● ●● ● ●●● ●
●●
●● ● ●● ●●●●
● ●●● ● ● ●
16
●
●●● ● ● ●● ●
●● ●● ●
● ●
14
● ●
● ●
● ●
●
●●●
●●●
● ●●● ●●
● ●
● ● ● ● ●●
● ●●●●
●
●
●
● ●●●
●●
●
●
● ● ●
● ●
●
● ●● ● ● ●●● ●
●●● ●
●
Taille
● ● ●●● ● ●
●●● ● ● ●● ● ● ●
● ●
●
● ●
●● ● ● ●●●●● ●
●●● ●
●●● ● ●● ● ● ● ● ●●●●
●● ●● ●
● ●
● ● ● ●●●● ●●●●●● ● ● ● ● ●●●● ●●
●●
● ● ●
● ●● ● ● ● ●●● ●●●
● ●●● ● ● ● ● ●● ●●● ●
● ●
● ●
● ● ● ● ●● ● ●
● ●
● ● ● ● ● ●
● ● ●● ●
●
Notez que les variables morphométriques des garçons (en bleu) sont en moyenne
plus grandes que celles des filles (en rouge). Ceci nous permettra de nous orienter
plus facilement dans les représentations graphiques suivantes.
4 Centrage et réduction
Les représentations graphiques précédentes sont trompeuses parce que nous
n’avons pas utilisé la même échelle en x, y et z. Imposons une échelle com-
mune pour visualiser les données :
lims <- c(min(mesures), max(mesures))
plot3d(mesures, type = "s", col = couleur, xlim = lims, ylim = lims,
zlim = lims)
Voici donc à quoi ressemblent réellement les données. On voit tout de suite le
problème, comme les tailles sont en moyenne beaucoup plus grandes que les
empans, les points se trouvent complètement collés sur le plan des empans.
4.1 Centrage
L’opération de centrage consiste à enlever la moyenne à chaque variable. La
fonction scale() permet d’effectuer directement cette opération :
C’est mieux. Le nuage est maintenant centré autour de l’origine. Mais comme
la variabilité est beaucoup plus forte pour la taille que pour les empans, notre
nuage de points a l’aspect d’une galette complètement applatie.
Quand on fait une ACP normée, on travaille avec les données après centrage et
réduction. Il est donc important de bien comprendre à quoi correspondent ces
opérations.
Avez-vous noté au passage que pour dessiner la dragée, nous n’avons eu besoin
que de la matrice de variances-covariances :
cor([Link])
Empan1 Empan2 Taille
Empan1 1.0000000 0.9651297 0.6510316
Empan2 0.9651297 1.0000000 0.6296482
Taille 0.6510316 0.6296482 1.0000000
Si vous aviez à choisir entre les trois plans que nous avons envisagés ci-dessus,
vous n’hésiteriez pas à prendre le plan défini par les deux premiers axes de la
dragée parce que c’est dans cette représentation que l’on a le moins de perte
d’information par rapport au nuage de points dans R3 : c’est dans cette pro-
jection que les points sont les plus étalés dans le plan (on dit aussi que l’on
a conservé le maximum possible de l’inertie initiale du nuage de points). Ce
faisant, vous avez en fait réalisé une ACP à la main.
Nous avons utilisé ici les options scann = FALSE pour conserver automatique-
ment nf = 3 facteurs. En général on ne procède pas ainsi : on commence par
examiner le graphe des valeurs propres qui exprime quelle fraction de la variance
totale est prise en compte par les axes successifs. Essayer avec :
acp <- [Link](mesures)
6.1.1 tab
Le data frame tab contient les données du tableau initial après centrage et
réduction. Par rapport au résultat obtenu avec la fonction scale() vous noterez
de petites différences :
head(acp$tab)
Empan1 Empan2 Taille
1 -0.1580263 -0.3711415 0.05273898
2 0.3645805 0.8972021 0.53612965
5 0.6258839 0.6435334 -0.75291214
6 -0.4193297 -0.5233427 0.02454119
7 -0.5761118 -0.5233427 1.04771811
8 -0.9419365 -0.7262777 -1.55856326
head([Link])
Empan1 Empan2 Taille
1 -0.1575553 -0.3700353 0.05258178
2 0.3634938 0.8945279 0.53453164
5 0.6240183 0.6416152 -0.75066799
6 -0.4180799 -0.5217828 0.02446804
7 -0.5743946 -0.5217828 1.04459524
8 -0.9391290 -0.7241129 -1.55391775
Cette petite différence est due à l’utilisation d’une variance en n1 dans [Link]()
1
contre une variance en n−1 dans scale(). Pour retrouver exactement le tableau
utilisé dans [Link]() faire :
var.n <- function(x) sum((x - mean(x))^2)/length(x)
scale.n <- function(x) (x - mean(x))/sqrt(var.n(x))
head(apply(mesures, 2, scale.n))
Empan1 Empan2 Taille
1 -0.1580263 -0.3711415 0.05273898
2 0.3645805 0.8972021 0.53612965
5 0.6258839 0.6435334 -0.75291214
6 -0.4193297 -0.5233427 0.02454119
7 -0.5761118 -0.5233427 1.04771811
8 -0.9419365 -0.7262777 -1.55856326
6.1.2 cw
Le vecteur cw donne le poids des colonnes (column weight), c’est-à-dire le poids
des variables. Par défaut, chaque variable a un poids de 1.
acp$cw
[1] 1 1 1
6.1.3 lw
Le vecteur lw donne le poids des lignes (line weight), c’est-à-dire le poids des
individus. Par défaut, chaque individu a un poids de n1 .
head(acp$lw)
[1] 0.005952381 0.005952381 0.005952381 0.005952381 0.005952381 0.005952381
head(acp$lw) * nrow(mesures)
[1] 1 1 1 1 1 1
6.1.4 eig
Le vecteur eig donne les valeurs propres (eigen values) dans le plus petit des
deux espaces diagonalisés.
acp$eig
[1] 2.50871762 0.45683484 0.03444753
sum(acp$eig)
[1] 3
Les valeurs propres nous renseignent sur la fraction de l’inertie totale prise en
compte par chaque axe :
(pve <- 100 * acp$eig/sum(acp$eig))
[1] 83.623921 15.227828 1.148251
cumsum(pve)
[1] 83.62392 98.85175 100.00000
Dans notre exemple, le premier axe factoriel extrait 83.6 % de l’inertie totale, le
deuxième axe factoriel 15.2 % de l’inertie totale. Le premier plan factoriel repré-
sente donc 98.9 % de l’inertie initiale. Ceci signifie que lorsque nous projetons
le nuage de points initial dans R3 sur le plan défini par les deux premiers axes
factoriels, nous avons perdu peu d’information.
6.1.5 rank
Cet entier donne le rang (rank ) de la matrice diagonalisée, dans notre cas le
nombre de variables indépendantes.
acp$rank
[1] 3
bismesures <- cbind(mesures, mesures)
head(bismesures)
Empan1 Empan2 Taille Empan1 Empan2 Taille
1 18.5 18.0 173.00 18.5 18.0 173.00
2 19.5 20.5 177.80 19.5 20.5 177.80
5 20.0 20.0 165.00 20.0 20.0 165.00
6 18.0 17.7 172.72 18.0 17.7 172.72
7 17.7 17.7 182.88 17.7 17.7 182.88
8 17.0 17.3 157.00 17.0 17.3 157.00
colnames(bismesures) <- c("Empan11", "Empan21", "Taille1", "Empan12",
"Empan22", "Taille2")
[Link](bismesures, scann = F, n = 3)$rank
[1] 3
6.1.6 nf
Cet entier donne le nombre de facteurs conservés dans l’analyse :
acp$nf
[1] 3
6.1.7 c1
c1 donne les coordonnées des variables (colonnes). Les vecteurs sont de norme
unité :
acp$c1
CS1 CS2 CS3
Empan1 0.6084890 -0.3420962 0.71603859
Empan2 0.6040404 -0.3855223 -0.69750107
Taille 0.5146613 0.8569380 -0.02794614
sum(acp$cw * acp$c1$CS1^2)
[1] 1
6.1.8 l1
l1 donne les coordonnées des individus (lignes). Les vecteurs sont de norme
unité :
head(acp$l1)
RS1 RS2 RS3
1 -0.18511289 0.35854289 0.7771789
2 0.65642982 -0.01654562 -2.0459458
5 0.24122137 -1.63843055 0.1095513
6 -0.35270516 0.54186131 0.3453116
7 -0.08047126 1.91845520 -0.4136080
8 -1.14527378 -1.08502402 -0.6698669
sum(acp$lw * acp$l1$RS1^2)
[1] 1
6.1.9 co
co donne les coordonnées des variables (colonnes). Les vecteurs sont normés à
la racine carré de la valeur propre correspondante :
acp$co
Comp1 Comp2 Comp3
Empan1 0.9637816 -0.2312213 0.132897100
Empan2 0.9567355 -0.2605728 -0.129456527
Taille 0.8151685 0.5792006 -0.005186817
sum(acp$cw * acp$co$Comp1^2)
[1] 2.508718
6.1.10 li
li donne les coordonnées des individus (lignes). Les vecteurs sont normés à la
racine carré de la valeur propre correspondante :
head(acp$li)
Axis1 Axis2 Axis3
1 -0.2931990 0.24233756 0.14424478
2 1.0397147 -0.01118311 -0.37972849
5 0.3820689 -1.10740798 0.02033277
6 -0.5586473 0.36624167 0.06409000
7 -0.1274579 1.29667540 -0.07676584
8 -1.8139913 -0.73336294 -0.12432761
sum(acp$lw * acp$li$Axis1^2)
[1] 2.508718
head(acp$l1$RS1 * sqrt(acp$eig[1]))
[1] -0.2931990 1.0397147 0.3820689 -0.5586473 -0.1274579 -1.8139913
head(t(t(acp$l1) * sqrt(acp$eig)))
RS1 RS2 RS3
1 -0.2931990 0.24233756 0.14424478
2 1.0397147 -0.01118311 -0.37972849
5 0.3820689 -1.10740798 0.02033277
6 -0.5586473 0.36624167 0.06409000
7 -0.1274579 1.29667540 -0.07676584
8 -1.8139913 -0.73336294 -0.12432761
6.1.11 call
Cet objet garde une trace de la façon dont ont été conduits les calculs lors de
l’appel de la fonction [Link]() :
acp$call
[Link](df = mesures, scannf = FALSE, nf = 3)
6.1.12 cent
Ce vecteur donne les moyennes (cent pour centrage) des variables analysées :
acp$cent
Empan1 Empan2 Taille
18.80238 18.73155 172.47631
colMeans(mesures)
Empan1 Empan2 Taille
18.80238 18.73155 172.47631
6.1.13 norm
√
Ce vecteur donne les écarts-types (sur n) des variables analysées :
acp$norm
Empan1 Empan2 Taille
1.913484 1.971075 9.929857
sd.n <- function(x) sqrt(var.n(x))
apply(mesures, 2, sd.n)
Empan1 Empan2 Taille
1.913484 1.971075 9.929857
d=2
190
152 197
182 205
7 146 160 112 97 163 51
109 127
23 218
230 52
89 32 38
75201
22216473 104
113 135
193 15518 148
170 228 151
125
6 185
141 128 17291120 36
21 118
115 74 76 53 1
189111 82132
59 110
124
191 114 131
206
23771119
123 3422
57168
134 180
178
200
166
161
86
33
209 21588 143 100632
9849
54 24
236 136
214
196
18777
105 62
227
176
184
231 181 9 44 39 147
174
6593
50 10 106
102
199 144 138
95 220
61
198 116117 212 233
183149
223 79
150 229
188 158
140 167145 156 20
55
8 208
194 87 177 28
202 192
129 204 30 27
130 11 175 234
153
154 122 47
17 211 5 186
20742
48
14
85
Exercice. Faire les représentations dans les plans (1,2), (1,3) et (2,3) avec une
échelle commune pour tous les graphiques afin d’obtenir la représentation ci-
dessous. d=1 d=1 d=1
190
152 197
7 112 51
182
205109 146160 97 163
127 218
230 52
89 23
104 32170 38 18 148 151
228
222 16473
75 201 113
135193 155
3621
197
168 168 36
197
125 128 172 36
74 6 185
141111 82132 91 114 118
116 200 140
106 54172 118 140 10620054 118
116 172 38
115 53
76 1
189 59 110
124 120 131 93 38 136 93 136
206
237 71 123
166 63191 34 198 115 201 129 105
180 209 86174
206
113 204
234 71 6 227
119
123
1125 32170145
17623167 156
59 9190
191 2791 144 24 131 47 51
97 120
95
52
47129156
204
234 14595
198176
227
174
105
144209
18086
949
119120
131
191
123
71191
59
206 3223
170 52 9751
168 161
86
33 215 119 143 100
54 22 24 152 182
57 153
117 161
73 166
2378749
215
50211 62 231
30 82
143
199 5 18177 228 20 122
3955 147 220 122
5
2787117
153 55167
20231
62
199
220
161
143 115
166
24 82
237
215 6113
125 73
201
228
18 182 152 190
57 134 178
77 98 49
200209 88 2 236 147136 130 207
187208
42 1798
212
183 149
76 104
233 188
135
10 111
88 89
109 7 186
100 63
146 4434 202 154 138 211
17130
154
207
186
42
202
30177
188
8208
50
138
10
149
233
212
183 3957
147
187
44 98 34
63111135
76 104
155 891271467
109
180187214
196 227 9 44 39 75 118 127
178 194 79 229 102 128
158 155 124 163 48 85
2228 114236 192 21 151
61 85 48 194
11
175192
229
79
158 102
61 100
88
178 124 75
128 163
105 65 176 181
184
231 222 74
175
164
214
196
7733 150 205 189184 181
14
185
193 160 110112
132 14 150
28 181
184
214
196
7733
236 110
114
132
22189 21
164
185
74 193151 205 112
160
198 116 117 212
174
183 14950 62
93
233 10 106
102
199 95144 138 61220 65
223 141
230 2
148 223 65
2 53
141222148
79 229158 167 145 156 20 134 53 134 230
223 150188 140 55
8 194 87
208
30
177 202
27
28 192 218 218
153 129
11
130 175 234204 47
17 211 186 154 122
207 42 5
48
14
85
d=2
● ●
● ● ●
● ●
● ● ●
● ●
●
●● ●
● ●
● ●
● ● ● ● ●
● ●
● ● ● ●
● ● ● ●
● ● ● ●●
● ●
● ● ●
● ● ● ●
● ● ● ● ● ●
● ● ● ● ● ●
●
● ●●
●●
●●
●
●
●●
●
●
● ●
●
Male
●
● ●
●
●
● ● ●● ● ●
●
● Female
●
●
● ● ● ● ●
● ●
● ●
●
● ● ● ● ●● ● ●
●● ● ● ●
● ● ● ● ● ●
● ●● ●
●● ● ● ●
● ● ● ●
●
● ●●● ● ● ●
● ● ● ●
● ● ● ●
● ●
● ●
●
●
●
● ●
● ●
● ● ●
● ●
● ● ●
●
●● ●
● ●
●
● ●
● ● ● ●
●
● ● ● ● ●
● ●
● ●
● ● ● ● ● ●
● ● ● ● ●
●● ●
● ● ● ● ● ● ● ● ● ● ● ● ●●
● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ● ● ● ● ● ● ●
● ● ● ●● ● ● ●● ●
● ● ●● ● ● ● ● ●● ● ● ● ● ● ●
● ●●●● ● ●
● ●●
●●
●
● ●
Male
●
● ● ●
● ●
● ● ● ● ●● ● ●
●
●●
●●●● ●
● ● ● ● ●
●
●
●
● ● ●● ●● ●
● ●
●
●
● ●
●●● ● ●
●
●●●● ●
●●●● ●● ● ● ●● ●
●
● ● ● ●
● ● ●
●● ● ●
●
● ●
● ●
●
● ●
●
● ●
● ● ● ●
●
● ●
● ●
● ●
● ●
●
Female
●
●
●● ●● ●
● ●●
●●
●
●
● ●●
●●● ●
● ●
●
●
● ●
●
Male
●● ●
● ● ● ● ●
●
●
● ●
● ●
●
●
●
●
● ●●
● ●● ● Female
●●● ●●● ●●●
●
● ●● ●●●● ●
●
●● ● ● ● ●
Male
● ●●
● ● ●●
●●
● ●
● ●● ●
●●
● ● ● ● ● ●● ●
● Female ● ●
● ●
● ● ● ●
●
●● ●●
● ● ●●
● ●●
●
●
● ●
●
●
● ● ● ● ●
●
●
● ●
●
●
●
●
●●
● ●
●
● ●●●●
●
● ●● ●
●●●
●● ●
●● ● ●
● ● ● ● ● ● ● ● ● ● ●
● ● ● ● ●● ●
● ●
● ● ●● ● ●
● ●● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ● ● ● ●
●
● ●
● ● ● ●● ●
● ● ● ● ● ●
● ●
●● ●
● ●
● ●
● ● ●
●
● ● ●
● ●
●
● ●
Taille
Empan1
Empan2
●
● ●●
●
●
●●
200 ●
● ●
●● ● ● ●
● ● ● ●● ●
●
●
22 ●●
●
●
22 ●●● ● ●
●● ● ● ● ●
● ● ● ● ●
●● ●
●●● ● ● ● 190 ●●
● ●● ●
● ● ●
●
●● ●● ● ● ● ●● ● ● ● ●
●
● ●● ● ●
● ● ●
20 ● ●● ●●●●●● ●●●● ● ● ●
● ●
● ● ●
●
●
20 ●
●
●●
● ● ●
●●●●● ● ● ●●●
●●● ●
●● ● ●● ●● ● ●
● ●● ●
● ●● ● ●
● ● ● ● ●● ●
●●●●●● ●●● ●● ●●●● ●● ● ●
●●● ● ●● ● ● ● 180 ● ● ● ●
Empan1
Empan2
● ●●● ● ● ● ●●●
● ●
● ●●●
●●
●●
●●●● ● ●● ● ● ●● ●●
●
●●●● ●●● ● ●
Taille
● ●●
● ● ● ●● ● ● ● ● ●
18 ● ●●●
●●
●●●●●●●
● 18 ●●●●●●● ●
● ●●●● ●
●
●● ● ●
● ●●
●
●●
● ●● ●
● ● ● ●● ●
●
● ●● ● ● ●
● ●
●●●●●●● ●
● ●
● ●●
●●●●●
● ● ● ● ● ●● ● ●● ● ●
● ●
●● ●● ●●●
●● ● ● ● ●
● ●●
●● ●●● ● ● ●
●
●
● ●
170 ● ● ●● ●●●● ●● ●
● ●● ●● ● ● ●
● ●● ● ● ● ●
●● ● 16 ● ● ●
● ● ●● ● ● ●
●● ●● ● ●
● ●
● ● ●●
16 ● ● ●● ● ● ● ● ● ●
● ● ●●
●
● ● ●
● ●
● ● ●● ● ●
● ● ●●●●● ●●
●
160 ●●
●
●● ● ●
14 ● ●
14 ● ● ●● ●●
●
● ● ●
●
●
● ● ●●
−4 −2 0 2 −4 −2 0 2 −4 −2 0 2
Eigenvalues d=2
Taille
190
152 197
7 112 51
182
205109 146160 97 163
127 218 52
230
89 2332 38
104 170 18 148 228 151
73 135 155
75 201
222 164 113 193
125 128 172 36
21
115 74 6 185
141
111 132
59 91 120
114 118
206 53
76 1
189 82 110
124
191 131
168 23771 119
166
161
86 123 63 34
54
57 134 178
200 33 215
7798 49 88
209 143 100 2 22 24
236 136
180
187214
196 227
176
184 181 9 44 39 147
105 6517450 62
93 231 106
102
199 144
95 138 61220
198 116117 212 233
183 149 10
229158167 145 156 20
223 79
150
188 140
208
8 194
87
30
177 20228 19255
153 129
11 27
130 175 234204
122 47
17 211 5 186 154
207 42
48 Empan1
14 Empan2
85
d=2
Taille
● ●
● ● ●
● ●
● ● ●
● ●
●
●● ●
● ● ●
● ● ● ●
● ● ●
● ● ● ● ● ●
● ● ● ● ●●
●● ●
● ● ● ● ●
● ● ●
● ● ● ● ● ●
● ● ● ● ● ● ● ●
● ● ●
● ● ●
● ● ●● ●● ● ●
●
●
●
● ● ●
● ● ● ● ●●
● ● ● ●
● ●
● ● ● ●● ● ●
● ●
● ● ● ● ●●● ●
● ● ● ●
● ● ● ● ● ●
● ●● ●
●● ● ● ●
● ● ● ●
●
● ●●● ● ● ●
● ● ● ●
● ● ● ●
● ●
● ●
● Empan1
● Empan2
●
Faire le lien avec ce qui avait été obtenu à la main avec la fonction plot3d(),
notez en particulier comment les axes de la base initiale se projettent sur le
premier plan factoriel :
Empan2
Empan1
●
●
● ● ●
●
● ● ● ● ●
● ● ● ●
● ● ● ●
● ● ● ● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ●● ● ● ● ●
●● ● ● ● ● ● ● ● ● ● ● ●
● ● ●
● ●●
● ●● ● ●
● ● ● ●●
● ●
● ●
●
●
●
● ● ●
● ● ● ●
●
● ● ● ● ● ● ● ● ●
● ●● ● ● ● ● ● ● ● ●
● ● ●
●
●
●●
●
●● ● ● ●●
● ● ● ● ● ●
● ● ● ● ●
● ● ● ● ● ● ● ●
●
● ● ● ●●
● ● ●
●
●
●
Taille ●
●
●
●
●
● ●
● ●● ●●●
● ●●
● ●●●
● ● ●● ●● ●
●
● ●●●●●●
●●
●
●●●●●●●
● ●●
●● ● ● ●
●● ● ●● ● ●
●● ●
● ●● ● ●●
●● ●●
● ●●●●●
●
●● ●●●●●● ● ● ● ●
●●●
● ●●
●● ●● ●●
● ●● ●● ●
●
●●●● ●● ● ● ●● ●
● ● ●
●●● ●● ●● ●
● ●●● ● ●
● ● ●● ● ● ●
● ●● ●●
● ● ●
●
●
Empan1
Empan2
Taille
● ● ●
● ● ● ● ● ●● ● ● ●
●● ●●
●●●
●●●●●
●
●●●●●●
● ●
●
●● ● ●● ● ●
●●
●●●
● ● ●●● ● ●
● ●●
● ●
●●
●●●●
●
●●●
●●
●●
●●
●
●●●
●●
●●● ●
● ●●●●●
●●
● ●●
● ●●● ●● ●
●●● ● ●
● ●●● ● ●
●
●●●●●●●● ●●●
●●
Empan1
Empan2
Références
[1] Daniel Adler and Duncan Murdoch. rgl : 3D visualization device system
(OpenGL), 2006. R package version 0.68.
[2] D. Chessel, A.-.B. Dufour, and J. Thioulouse. The ade4 package-I- One-table
methods. R News, 4 :5–10, 2004.
[3] W. N. Venables and B. D. Ripley. Modern Applied Statistics with S. Springer,
New York, fourth edition, 2002.