- Introduction
- Manipulation et mise en forme des données
- Importation et exportation des données
- Visualisation de données
- Modélisation statistique
- Communication
- Programmation avancée
- Outils mathématiques
- Introduction
- Manipulation et mise en forme des données
- Importation et exportation des données
- Visualisation de données
- Modélisation statistique
- Communication
- Programmation avancée
- Outils mathématiques
R permet la création de cartes.
Coloriage des départements Français
Pour illustrer la géographie de la démographie française, on peut colorier les différents département selon le taux d'accroissement de la population.
L'INSEE fournit les données de population par commune, on les enregistre dans un fichier csv (population.csv) sous la forme :
"DEPCOM" "DEP" "DEPPCT" "LIBMIN" "PSDC99" "PSDC90" 1001 1 110 "L'Abergement-Clémenciat" 728 579 1002 1 101 "L'Abergement-de-Varey" 168 159 1004 1 101 "Ambérieu-en-Bugey" 11436 10455 1005 1 130 "Ambérieux-en-Dombes" 1408 1156 1006 1 104 "Ambléon" 86 76
Les données INSEE comportent de nombreuses autres colonnes qui ne nous intéressent pas ici.
On aura également besoin d'un fichier departement.csv pour lier les numéro de département a leurs nom.
"DEP" "NOM" 01 "Ain" 02 "Aisne" 03 "Allier" 04 "Alpes-de-Haute-Provence" 05 "Hautes-Alpes"
Il n'y a plus qu'a tracer la carte :
> library (maps) > map ('france') > title (main="Taux d'evolution de la population entre 1990 et 1999") > DATA <- read.table ("population.csv", header=TRUE) > df <- aggregate (data.frame (PSDC99=DATA$PSDC99, PSDC90=DATA$PSDC90), by=list(DATA$DEP), FUN = sum) > df$TAUX <- (df$PSDC99-df$PSDC90)/df$PSDC90*100 > DEP <- read.table ("departement.csv", header=TRUE) > df <- merge (df, DEP, by.x="Group.1", by.y="DEP") > df$CLASS <- cut (df$TAUX, c(-Inf, -6, -4, -2, 0, 2, 4, 6, Inf), right=TRUE) > col <- c(rgb (1:4/4, 0, 0), rgb (0, 4:1/4, 0)) > map ('france', regions=df$NOM, col=col[df$CLASS], fill=TRUE, add=TRUE, exact=TRUE) > legend ('bottomleft', legend=attr (df$CLASS, 'levels'), col=col, lty=1, lwd=10) > box()
On obtient alors le résultat :
De premier abord, ce genre de carte n'est pas évident à obtenir, mais une fois le principe compris, cela devient extrêmement efficace. Nous y reviendrons dans le chapitre Créer des cartes.

