Présentation des données

Nous étudions les résultats des élections présidentielles 2017 par département. Ces données sont librement téléchargeables sur le site http://data.gouv.fr/fr/posts/les-donnees-des-elections/.

Le fichier original représente les communes en ligne et les candidats, pourcentage d’exprimés, d’abstentions, de votes nuls en colonnes. Télécharger le fichier de données Presidentielle_2017_Resultats_Communes_T1_clean.csv. Le script R TP3_ADD_debut.R vous donne les premières lignes de commandes pour obtenir le tableau de contingence (chargement des packages et du tableau original, sélection des colonnes à conserver pour l’analyse et regroupement des données par département).

On commence par réaliser une test du \(\chi^2\) pour s’assurer qu’il y a bien une dépendance significative entre les lignes et les colonnes du tableau.

chisq.test(donnees_elections)
## 
##  Pearson's Chi-squared test
## 
## data:  donnees_elections
## X-squared = 3630500, df = 1365, p-value < 2.2e-16

Analyse factorielle des correspondances

On réalisera ensuite une AFC sur le tableau obtenu.

res.CA <- CA(donnees_elections)

Le graphique représenté est assez difficilement lisible, cependant nous distinguons assez clairement d’un côté les départements et collectivités d’Outre-Mer (Saint-Martin/Saint-Barthélémy, Guadeloupe, Guyane, Mayotte, Polynésie française,…), à proximité des colonnes Abstention et Nuls et de l’autre des départements d’Île-de-France (Paris, Haut-de-Seine notamment) en opposition à la colonne Le Pen.

La commande

summary(res.CA)

nous donne un certain nombre d’informations : statistique du \(\chi^2\), valeurs propres et pourcentage d’inertie expliqué par chacun des axes, description des lignes et des colonnes. On voit ainsi que trois axes suffisent pour expliquer 80% de l’inertie. La description des lignes n’est pas très informative car elle est limitée aux 10 premières lignes (sur 106). Le nombre de colonnes étant moins important, nous pouvons voir que les colonnes Abstention et Le Pen expliquent une grande partie de l’inertie, que les colonnes Abstention et Macron contribuent beaucoup à la construction du premier axe (et sont bien représentés dans cet axe), les colonnes Le Pen et Abstention contribuent beaucoup à la construction du second axe (Le Pen est bien représenté dans cet axe mais Abstention ne l’est pas vraiment) et que les colonnes Mélenchon, Fillon et Lassalle contribuent beaucoup à la construction du troisième axe et sont assez bien représentés dans cet axe. Cependant, il manque l’information des dernières colonnes (Asselineau, Poutou, Arthaud, Cheminade).

Après ces premières constatations, nous pouvons aller un peu plus loin et préciser l’analyse. Concernant le choix du nombre d’axes, en complément des informations apportées par la commande summary(res.CA), nous pouvons visualiser la répartition des valeurs propres par la commande

barplot(res.CA$eig[,1],main="Eigenvalues",names.arg=1:nrow(res.CA$eig))

Nous voyons que les deux premiers axes sont les plus informatifs, suivis de l’axe 3 et de l’axe 4, qu’il sera peut-être intéressant de commenter.

Etude du premier axe

Nous visualisons dans un premier temps à nouveau le premier plan, en sélectionnant les 20 lignes dont la somme au carré des contributions est la plus importante :

plot(res.CA,selectRow="contrib 20")

Nous nous aidons également de la commande

dimdesc(res.CA) -> res.dimdesc
res.dimdesc$`Dim 1`

À l’aide des lignes et des colonnes ayant des coordonnées positives ou négatives les plus grandes en valeurs absolues, nous pouvons supposer que l’axe 1 oppose les départements et collectivités d’Outre-Mer, associées aux colonnes Nuls et Abstention à Paris et Haut-de-Seine.

round(100*res.CA$col$cos2[,1],2)

Le vote Abstention est bien représenté dans ce premier axe, ainsi que le vote Macron (du côté de Paris et des Haut-de-Seine). L’axe 1 semble donc opposer les départements et collectivités d’Outre-Mer qui votent à priori moins que la moyenne (et qui ont moins voté Macron également) à Paris et Haut-de-Seine qui semblent voter plus et plus souvent Macron.

Nous vérifions ensuite sur les données, en calculant les profils lignes et les comparant au profil colonnes :

profils.lignes <- round(100*prop.table(as.matrix(donnees_elections),margin=1),2)
profil.moyen.colonnes <- round(100*margin.table(as.matrix(donnees_elections),margin=2)/sum(donnees_elections),2)
rbind(profils.lignes[c('Martinique','Guadeloupe','Guyane','Mayotte','La Réunion','Polynésie française','Saint-Pierre-et-Miquelon','Wallis et Futuna'),],profil.moyen.colonnes)
##                          Abstentions Blancs Nuls LE PEN MELENCHON MACRON
## Martinique                     60.12   2.62 2.04   3.85      9.64   8.99
## Guadeloupe                     59.96   1.79 2.69   4.81      8.58  10.75
## Guyane                         65.31   4.07 1.46   7.08      7.21   5.47
## Mayotte                        56.44   1.16 2.10  10.99      3.38   7.71
## La Réunion                     41.32   1.79 2.08  12.86     13.45  10.37
## Polynésie française            61.06   0.86 1.00  12.06      2.92   5.46
## Saint-Pierre-et-Miquelon       45.07   1.41 0.52   9.63     18.79   9.52
## Wallis et Futuna               36.07   0.41 0.33   4.49      2.27  19.26
## profil.moyen.colonnes          21.32   1.41 0.62  16.50     15.05  18.21
##                          FILLON LASSALLE DUPONT-AIGNAN HAMON ASSELINEAU
## Martinique                 5.93     0.28          0.75  3.43       0.45
## Guadeloupe                 5.16     0.21          0.65  3.54       0.42
## Guyane                     4.27     0.30          0.51  1.66       0.52
## Mayotte                   13.14     0.23          1.24  1.75       0.49
## La Réunion                 9.46     0.30          1.58  4.20       0.94
## Polynésie française       13.08     0.22          0.87  1.08       0.59
## Saint-Pierre-et-Miquelon   5.26     1.09          1.59  4.37       0.72
## Wallis et Futuna          18.03     0.34          0.93 15.94       0.59
## profil.moyen.colonnes     15.26     0.93          3.64  4.87       0.71
##                          POUTOU ARTHAUD CHEMINADE
## Martinique                 1.04    0.73      0.12
## Guadeloupe                 0.73    0.63      0.10
## Guyane                     1.53    0.50      0.11
## Mayotte                    0.76    0.40      0.20
## La Réunion                 0.68    0.81      0.15
## Polynésie française        0.37    0.34      0.10
## Saint-Pierre-et-Miquelon   1.29    0.56      0.18
## Wallis et Futuna           0.48    0.64      0.21
## profil.moyen.colonnes      0.84    0.50      0.14

Nous voyons notamment que la totalité des départements et collectivités d’Outre-Mer s’est abstenu plus que la moyenne nationale (21.32% d’abstention) et à moins voté pour la candidat Macron que la moyenne (sauf Wallis et Futuna). Le vote Nul à tendance à être aussi plus présent.

rbind(profils.lignes[c('Paris','Hauts-de-Seine'),],profil.moyen.colonnes)
##                       Abstentions Blancs Nuls LE PEN MELENCHON MACRON
## Paris                       16.15   0.82 0.33   4.13     16.18  28.81
## Hauts-de-Seine              17.91   1.29 0.26   6.15     14.72  26.01
## profil.moyen.colonnes       21.32   1.41 0.62  16.50     15.05  18.21
##                       FILLON LASSALLE DUPONT-AIGNAN HAMON ASSELINEAU
## Paris                  21.88     0.42          1.38  8.42       0.64
## Hauts-de-Seine         23.47     0.48          2.16  5.79       0.86
## profil.moyen.colonnes  15.26     0.93          3.64  4.87       0.71
##                       POUTOU ARTHAUD CHEMINADE
## Paris                   0.52    0.22      0.11
## Hauts-de-Seine          0.51    0.25      0.14
## profil.moyen.colonnes   0.84    0.50      0.14

À l’inverse, les départements Paris et Hauts-de-Seine se sont moins abstenus que la moyenne et ont voté plus que la moyenne pour le candidat Macron.

Etude du deuxième axe

res.dimdesc$`Dim 2`

Le deuxième axe semble opposer le vote des partis d’extrême droite (en particulier pour les candidats Le Pen et Dupont-Aignan) et d’extrême gauche aux votes des partis plus traditionnels et des abstentions. Les départements ayant les coordonnées les plus élevées dans cet axe sont les départements et collectivités d’Outre-Mer ainsi que l’Île-de-France (du côté des partis traditionnels et des abstention) aux départements du Nord-Est de la France comme l’Aisne, la Haute-Marne, le Pas-de-Calais (du côté des extrêmes).

Concernant l’Outre-Mer, le tableau de la section précédente montre, qu’outre l’abstention plus élevée que la moyenne déjà évoquée, le vote pour les candidats Le Pen et Dupont-Aignan y est aussi plus faible que la moyenne. Pour les autres candidats, aucune tendance ne se dégage de manière extrêmement claire. En particulier, les départements ayant les coordonnées les plus élevées sur cet axe (Martinique, Guadeloupe, Wallis-et-Futuna) sont ceux ayant le moins voté Le Pen (et dans une moindre mesure Dupont-Aignan). Cet axe-là semble donc être assez caractéristique du vote Le Pen, la colonne Le Pen est d’ailleurs très bien représentée dans cet axe

round(100*res.CA$col$cos2[,2],2)
##   Abstentions        Blancs          Nuls        LE PEN     MELENCHON 
##         13.83          0.06          8.97         94.21          0.78 
##        MACRON        FILLON      LASSALLE DUPONT-AIGNAN         HAMON 
##         20.72          0.80          0.36         43.30         33.20 
##    ASSELINEAU        POUTOU       ARTHAUD     CHEMINADE 
##          0.47          0.86         10.05          5.15

Il oppose les départements et collectivités d’Outre-Mer et d’Île-de-France, qui ont moins voté Le Pen que la moyenne aux régions Grand-Est et Hauts-de-France qui ont plus voté pour Le Pen que la moyenne.

profil.moyen.OM <- colMeans(profils.lignes[c('Martinique','Guadeloupe','Guyane','Mayotte','La Réunion','Polynésie française','Saint-Pierre-et-Miquelon','Wallis et Futuna'),])
profil.moyen.IDF <- colMeans(profils.lignes[c('Paris','Hauts-de-Seine','Seine-Saint-Denis','Val-de-Marne'),])
profil.moyen.GE <- colMeans(profils.lignes[c('Ardennes', 'Aube', 'Bas-Rhin', 'Haute-Marne', 'Haut-Rhin', 'Marne', 'Meurthe-et-Moselle', 'Meuse', 'Moselle', 'Vosges'),])
profil.moyen.HDF <- colMeans(profils.lignes[c('Aisne', 'Nord', 'Oise', 'Pas-de-Calais', 'Somme'),])
data.frame(rbind(profil.moyen.OM,profil.moyen.IDF,profil.moyen.GE,profil.moyen.HDF,profil.moyen.colonnes),row.names=c("Outre-Mer","Île-de-France","Grand Est","Haut-de-France","Moyenne nationale"))
##                   Abstentions  Blancs   Nuls   LE.PEN MELENCHON   MACRON
## Outre-Mer            53.16875 1.76375 1.5275  8.22125     8.280  9.69125
## Île-de-France        20.61250 1.17750 0.4125  7.19250    18.475 23.42750
## Grand Est            21.10000 1.43400 0.5500 22.42100    12.363 15.41600
## Haut-de-France       21.15200 1.40200 0.6140 24.51200    14.382 15.03200
## Moyenne nationale    21.32000 1.41000 0.6200 16.50000    15.050 18.21000
##                     FILLON LASSALLE DUPONT.AIGNAN   HAMON ASSELINEAU
## Outre-Mer          9.29125  0.37125         1.015 4.49625     0.5900
## Île-de-France     17.49750  0.45250         2.260 6.54000     0.8925
## Grand Est         15.06100  0.78700         4.704 3.75400     0.7250
## Haut-de-France    12.46200  0.55800         3.872 3.71800     0.6200
## Moyenne nationale 15.26000  0.93000         3.640 4.87000     0.7100
##                   POUTOU ARTHAUD CHEMINADE
## Outre-Mer         0.8600 0.57625   0.14625
## Île-de-France     0.6225 0.31000   0.13250
## Grand Est         0.8960 0.63400   0.15600
## Haut-de-France    0.8260 0.71000   0.13800
## Moyenne nationale 0.8400 0.50000   0.14000

Remarquons que le vote Blancs, assez central dans le premier plan, ne semble pas se distinguer en particulier sur les régions considérées. En cela, son profil par département se distingue de l’abstention et des votes nuls.

Etude du troisième axe

plot(res.CA,selectRow="contrib 20",axes=c(3,4))

res.dimdesc$`Dim 3`
round(100*res.CA$col$cos2[,3],2)
round(100*res.CA$col$contrib[,3],2)

La colonne ayant les coordonnées les plus élevées (en valeurs absolue) sur cet axe correspond au candidat Lassalle associé aux départements Haute-Pyrénées, Ariège et Pyrénées-Atlantiques. Etant donné que le candidat est originaire des Pyrénées-Atlantiques, il pourrait s’agir d’un vote préférentiel pour un candidat venant de sa région. Les colonnes bien représentées et ayant une contribution importante à cet axe sont également celles associées aux candidats Fillon (opposé sur cet axe à Lassalle) et Mélenchon (du même côté sur cet axe).

Si l’on s’intéresse en particulier aux votes de ces trois départements

rbind(profils.lignes[c('Hautes-Pyrénées','Ariège','Pyrénées-Atlantiques'),],profil.moyen.colonnes)

nous constatons que le vote Lassalle y est beaucoup plus élevé que la moyenne, le vote Mélenchon un peu plus élevé que la moyenne et le vote Fillon moins élevé. Nous constatons également que ces trois départements sont plutôt bien représentés sur cet axe et sont parmi les 15 départements contribuant le plus à sa construction.

res.CA$row$cos2[c('Hautes-Pyrénées','Ariège','Pyrénées-Atlantiques'),3]
sort(res.CA$row$contrib[,3],decreasing=TRUE)[1:15]

Etude du quatrième axe

dimdesc(res.CA,axes=4)

La colonne ayant les coordonnées les plus élevées sur l’axe 4 semble être également celle associée au candidat Lassalle, associé cette fois aux départements des Pyrénées-Atlantiques et de la Corse (Corse-du-Sud et Haute-Corse).

rbind(profils.lignes[c('Corse-du-Sud','Haute-Corse'),],profil.moyen.colonnes)

On remarque que les deux départements de la Corse ont aussi voté plus que la moyenne pour le candidat Lassalle, en revanche, contrairement aux trois départements des Pyrénées, ils ont voté moins que la moyenne pour le candidat Mélenchon et plus que la moyenne pour le candidat Fillon.

res.CA$row$cos2[c('Pyrénées-Atlantiques','Corse-du-Sud','Haute-Corse'),4]
sort(res.CA$row$contrib[,4],decreasing=TRUE)[1:15]

Ces deux départements sont aussi bien représentés dans l’axe 4 et parmi les plus contributifs. Cependant, mis à part les résultats particulièrement élevé du candidat Lassalle en Pyrénées-Atlantiques, il est difficile de comprendre au niveau du profil, la raison pour laquelle ce département a à la fois des coordonnées, une représentation et une contribution élevée pour cet axe également.

À titre de comparaison, on pourra consulter des articles de journaux publiés suite aux élections :