# Programmer en R/Représenter une carte

* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
[ Modifier le sommaire ]
Le langage R permet de réaliser des cartes.

## Réalisation d'une carte des départements français
### Import des données

On peut télécharger les contours des départements français sur le site data.gouv.fr. On peut importer les données au format Shapefile grâce à la fonction readOGR de la librairie rgdal :
On obtient alors un SpatialPolygonDataFrame.

### Visualisation avec la fonction de visualisation de base

Pour visualiser uniquement, les départements de la métropole, on peut sélectionner les départements dont le code Insee ne prend que deux caractères. On utilise la fonction str_length de la librairie stringr. Pour clarifier le code, on utilise l'opérateur %>% de la librairie magrittr. Cet opérateur permet d'enchaîner les fonctions les unes à la suite des autres.
On peut ensuite créer une première visualisation avec la fonction plot.

### Visualisation avec la librairie ggplot2

Pour réaliser la carte avec la librairie ggplot2, il faut au préalable transformer le SpatialPolygonDataFrame en data frame à l'aide de la fonction fortify. Pour réaliser cette opération, il est nécessaire de charger les paquets rgeos, maptools et ggplot2.
Comme dans l'exemple plus haut, on peut filtrer les départements de France métropolitaine avec la fonction str_length du paquet stringr et la fonction filter du paquet dplyr.
On réalise ensuite la carte avec ggplot :

### Visualisation interactive avec Leaflet

* Wikipédia propose un article sur : « Leaflet ».
La librairie leaflet permet de réaliser facilement une carte interactive depuis R. Pour cela, il faut utiliser le SpatialPolygonDataFrame, celui que nous avons nommé spdf_departement. La syntaxe est très simple. La fonction addTiles permet d'ajouter un fond de carte. La fonction addPolygons permet d'ajouter les polygones.

## Notes et références

* ↑ https://www.data.gouv.fr/fr/datasets/contours-des-departements-francais-issus-d-openstreetmap/