Plusieurs packages fournissent des outils permettant de réaliser une analyse factorielle des correspondances. On peut citer :
- dans le package MASS : corresp
- dans le package ade4 : dudi.coa
- dans le package FactoMineR (cf. http://factominer.free.fr) : CA
Les résultats les plus complets semblent être ceux fournis par la procédure CA.
Reprenons l'exemple "Régionales 2004 en Ile de France" déjà décrit dans les exemples traités sous Statistica.
Présentation des données :
Réf. Examen de Statistiques de mai 2004, Module MULT, Maîtrise de Psychologie, Université René Descartes. Site Web : http://piaget.psycho.univ-paris5.fr/Statistiques/
Les données qui suivent sont constituées par les résultats du premier tour des élections régionales de 2004 pour la région Ile de France. Pour chacun des huit départements de l’Ile de France (en lignes), on a les effectifs de suffrages pour chacune des huit listes candidates ainsi que les effectifs d’abstentions (en colonnes). L’objectif est d’analyser la structure des votes ainsi que les liaisons entre listes et départements. Voici les codes de désignation des départements et des listes :
Départements |
Code |
|
Listes |
Tête de liste |
Code |
Paris (75) |
PARI |
|
PS-Verts-MRG-MRC |
Huchon |
HUCH |
Seine et Marne (77) |
SMAR |
|
UMP |
Copé |
COPE |
Yvelines (78) |
YVEL |
|
UDF |
Santini |
SANT |
Essonne (91) |
ESSO |
|
FN |
Le Pen |
LEPE |
Hauts de Seine (92) |
HTSS |
|
PC-AGR-AC |
Buffet |
BUFF |
Seine Saint-Denis (93) |
STDE |
|
LO-LCR |
Laguiller |
LAGU |
Val de Marne (94) |
VDMA |
|
GE-Les Bleus |
Pelegrin |
PELE |
Val d’Oise (95) |
VDOI |
|
MNR |
Bay |
BAY |
|
|
|
Abstentions |
|
ABST |
Données : résultats du premier tour des régionales 2004 en Ile de France
|
HUCHON |
COPE |
SANTINI |
LEPEN |
BUFFET |
LAGU |
PELEG |
BAY |
ABSTEN |
TOTAL |
PARI |
258495 |
184419 |
114222 |
57183 |
39052 |
22479 |
13277 |
5006 |
434078 |
1128211 |
SMAR |
128715 |
114003 |
48782 |
71897 |
25732 |
19738 |
11980 |
7085 |
301478 |
729410 |
YVEL |
150141 |
140634 |
96746 |
61676 |
23292 |
15998 |
13939 |
6486 |
329626 |
838538 |
ESSO |
144581 |
95451 |
59967 |
54309 |
26732 |
17545 |
12108 |
5346 |
270414 |
686453 |
HTSS |
143444 |
136677 |
122610 |
47279 |
32987 |
16438 |
11322 |
4690 |
314964 |
830411 |
STDE |
107327 |
61507 |
40081 |
54412 |
49535 |
19619 |
8393 |
5176 |
287618 |
633668 |
VDMA |
126569 |
93049 |
60234 |
47074 |
41897 |
17308 |
10969 |
4557 |
286913 |
688570 |
VDOI |
111176 |
82524 |
47903 |
55165 |
24693 |
17018 |
9876 |
4825 |
262458 |
615638 |
TOTAL |
1170448 |
908264 |
590545 |
448995 |
263920 |
146143 |
91864 |
43171 |
2487549 |
6150899 |
Ce tableau peut être téléchargé au format .csv ou au format .Rdata (variable regionales.data).
Chargement des données :
A partir du fichier enregistré au format .csv
regionales.data <- read.csv2(file.choose(), row.names=1) # Choisir le fichier Regionales-2004-IDF.csv
A partir du fichier enregistré au format .Rdata
load(file.choose()) # Choisir le fichier Regionales-2004-IDF.Rdata
Produire les principaux résultats de l'AFC :
Réaliser l'AFC en extrayant 3 facteurs :
library(FactoMineR)
regionales.CA <- CA(regionales.data, ncp=3)
summary(regionales.CA)
Length Class Mode
eig 3 data.frame list
call 4 -none- list
row 3 -none- list
col 3 -none- list
svd 3 -none- list
Les valeurs propres
regionales.CA$eig
eigenvalue inertia cumulative inertia
dim 1 1.512e-02 63.5780 63.58
dim 2 4.656e-03 19.5753 83.15
...
dim 7 2.436e-05 0.1024 100.00
Les paramètres d'appel
regionales.CA$call$X
HUCHON COPE SANTINI LEPEN BUFFET LAGU PELEG BAY ABSTEN
PARI 258495 184419 114222 57183 39052 22479 13277 5006 434078
SMAR 128715 114003 48782 71897 25732 19738 11980 7085 301478
...
VDOI 111176 82524 47903 55165 24693 17018 9876 4825 262458
$marge.col
HUCHON COPE
SANTINI LEPEN
BUFFET LAGU
PELEG BAY ABSTEN
0.190289 0.147664 0.096010 0.072997 0.042908 0.023760 0.014935 0.007019 0.404420
$marge.row
PARI SMAR YVEL
ESSO HTSS STDE VDMA VDOI
0.1834 0.1186 0.1363 0.1116 0.1350 0.1030 0.1119 0.1001
$ncp
[1] 3
Les résultats relatifs aux lignes : coordonnées, contributions et qualités de représentation
regionales.CA$row
$coord
Dim 1 Dim 2 Dim 3
PARI -0.10498 0.002721 -0.101621
SMAR 0.08206 -0.118056 0.033233
...
VDOI 0.08536 -0.051274 0.020569
$contrib
Dim 1 Dim 2 Dim 3
PARI 13.3674 0.02916 55.609198
SMAR 5.2799 35.49506 3.845097
...
VDOI 4.8224 5.65131 1.243139
$cos2
Dim 1 Dim 2 Dim 3
PARI 0.51217 0.000344 4.799e-01
SMAR 0.29926 0.619429 4.909e-02
...
VDOI 0.65290 0.235580 3.791e-02
Les résultats relatifs aux colonnes : coordonnées, contributions et qualités de représentation
regionales.CA$col
$coord
Dim
1 Dim 2 Dim 3
HUCHON -0.04214 -0.016535 -0.102397
COPE -0.13050 -0.051260 0.008879
...
ABSTEN 0.05383 0.005755 0.005947
$contrib
Dim 1 Dim 2 Dim 3
HUCHON 2.2344 1.11738 58.57474
COPE 16.6286 8.33279 0.34177
...
ABSTEN 7.7502 0.28769 0.41996
$cos2
Dim 1 Dim 2 Dim 3
HUCHON 0.1388 0.021367 0.819404
COPE 0.8139 0.125571 0.003768
...
ABSTEN 0.9251 0.010573 0.011290
Valeurs singulières et vecteurs propres
regionales.CA$svd
$vs
[1] 0.122976 0.068237 0.058363 0.018685 0.012321 0.008701 0.004936
$U
[,1]
[,2] [,3]
[,4] [,5]
[,6] [,7]
[1,] -0.8537 0.03987 -1.74120 -0.57025 -0.55232 0.1941 -0.14789
[2,] 0.6673 -1.73008 0.56943 -1.23665 0.62178 1.3220 -0.07956
...
[8,] 0.6941 -0.75142 0.35242 0.71844 -1.87108 -0.5778 1.86268
$V
[,1] [,2]
[,3] [,4] [,5]
[,6] [,7]
[1,] -0.3427 -0.24232 -1.7545 0.8414 0.1922 0.2593 -0.39525
[2,] -1.0612 -0.75120 0.1521 -1.7386 0.8783 0.4341 0.27047
...
[9,] 0.4378 0.08434 0.1019 -0.2941 -0.8124 -0.6859 0.08478
Graphique : représentation conjointe lignes et colonnes dans le plan (CP1, CP2), pour une installation de R où le device graphique "png" est disponible :
png("AFC-avec-R-Gra1.png")
plot.CA(regionales.CA, axes=c(1,2))
dev.off()
De même : représentation graphique conjointe lignes et colonnes dans le plan (CP2, CP3) :
png("AFC-avec-R-Gra2.png")
plot.CA(regionales.CA, axes=c(2,3))
> dev.off()
Une autre représentation graphique intéressante peut être obtenue à l'aide de la fonction table.value du package ade4 :
library(ade4)
png("/Users/carpenti/Desktop/AFC-avec-R-Gra3.png")
table.value(regionales.data, grid=T)
dev.off()
La commande dudi.coa du package ade4 ne permet pas d'obtenir facilement les contributions à l'inertie ni les qualités de représentation des individus. En revanche, elle donne également les taux de liaison :
library(ade4)
regionales.coa <- dudi.coa(regionales.data)
Select the number of axes:
3
options(digits=3)
regionales.coa$tab
HUCHON COPE SANTINI LEPEN
BUFFET LAGU PELEG
BAY ABSTEN
PARI 0.2041 0.1070 0.0545 -0.3057 -0.1933 -0.1614 -0.2120 -0.3678 -0.0486
SMAR -0.0726 0.0585 -0.3034 0.3503 -0.1778 0.1389 0.0997 0.3839 0.0220
YVEL -0.0591 0.1358 0.2017 0.0076 -0.3526 -0.1970 0.1130 0.1020 -0.0280
ESSO 0.1068 -0.0583 -0.0901 0.0838 -0.0924 0.0757 0.1810 0.1096 -0.0259
HTSS -0.0922 0.1146 0.5379 -0.2200 -0.0742 -0.1669 -0.0871 -0.1953 -0.0621
STDE -0.1099 -0.3427 -0.3412 0.1763 0.8219 0.3031 -0.1132 0.1638 0.1223
VDMA -0.0340 -0.0849 -0.0889 -0.0635 0.4181 0.0579 0.0666 -0.0571 0.0303
VDOI -0.0510 -0.0922 -0.1896 0.2275 -0.0652 0.1634 0.0741 0.1167 0.0541
Page rédigée le 26 mai 2007