« Programmer en R/Comprendre la grammaire des graphiques » : différence entre les versions

Contenu supprimé Contenu ajouté
+1
Compléments
Balise : Éditeur de wikicode 2017
Ligne 1 :
En R, il existe un système de graphique standard autour de la fonction <code>plot()</code> et la librairie <code>ggplot2</code>. La librairie <code>ggplot2</code> repose sur les principes de la grammaire des graphiques<ref>http://r4ds.had.co.nz/data-visualisation.html</ref>. L'idée principale est de concevoir un graphique comme une succession de couches (layer). Chaque couche définit une correspondance entre certaines variables ou leur transformation statistique et les attributs esthétiques (position dans l'espace, couleur, épaisseur, etc) de formes géométriques définies (points, barres, lignes, tuiles, etc).
 
En pratique, on crée le graphique avec la fonction <code>ggplot()</code>.
La grammaire des graphiques repose sur l'idée qu'un graphique est constitué d'une correspondance entre un jeu de données et les propriétés esthétiques de formes géométriques. Par exemple, si on choisit un nuage de point, on a une variable qui détermine l'abscisse du point, une variable qui détermine son ordonnée, éventuellement une variable qui détermine sa couleur, etc. A partir de cette idée, on peut composer de nombreux graphiques.
 
On définit ensuite les différentes couches avec les fonctions <code>geom_</code (<code>geom_point()</code>, <code>geom_bar</code>, <code>geom_line()</code>, etc) ou <code>stat_</code> (<code>stat_density()</code>, <code>stat_count()</code>, etc). Pour chacune de ses fonctions, l'argument <code>mapping</code> et la fonction <code>aes()</code> permettent de définir la correspondance entre des variables et les attributs esthétiques.
 
On spéficie ensuite les échelles avec les fonctions <code>scale_</code>.
 
On spécifie le contexte (titre, sous-titre, caption, etc) avec la fonction <code>labs()</code>.
 
On choisit un thème avec es thèmes prédéfinis (<code>theme_tufte()</code>, <code>theme_stata()</code>, etc) ou avec la fonction <code>theme()</code>.
 
On peut aussi réaliser le graphe sur des sous-échantillons du jeu de données avec les fonctions <code>facet_()</code>.
 
Particularité de la grammaire des graphiques, l'opérateur pipe est <code>+</code>. La librairie <tt>ggplot2</tt> a été introduite en 2009, avant l'introduction des pipes dans le langage R.
 
== Pré-requis ==
Dans cette section, on utilise la base de données des députés déjà utilisés auparavant et on travaille avec la librarie <code>ggplot2</code>.
 
<source>
library(dplyr)
library(ggplot2)
library(readr)
table_deputes <- read_csv("data/table_deputes.csv")
</source>
 
== Géométries ==