Leçons du module (1/2)
Grammaire et Géométries de Base
La visualisation de données en R est dominée par ggplot2, un package basé sur la "Grammaire des Graphiques" (Grammar of Graphics). Cette théorie décompose les graphiques en composants sémantiques indépendants, tels que les données, les correspondances esthétiques et les éléments géométriques.
La Structure de ggplot2
Chaque graphique créé avec ggplot2 commence par un appel à la fonction ggplot(), à laquelle on associe un data frame et où l'on définit comment faire correspondre les colonnes du data frame aux propriétés visuelles via la fonction aes() (aesthetics).
Ensuite, nous ajoutons des couches géométriques en utilisant l'opérateur + (attention : on utilise + et non %>% dans ggplot2).
La structure de base est la suivante :
ggplot(data = <DATA_FRAME>, mapping = aes(<ESTHÉTIQUES>)) +
<GÉOMÉTRIE>()
Propriétés Esthétiques (aes) et Géométries (geom_*)
La fonction aes() définit quelles variables des données contrôlent les attributs du graphique :
x: Position sur l'axe horizontal.y: Position sur l'axe vertical.color: Couleur des points ou des lignes.fill: Couleur de remplissage des formes fermées (ex. barres).size: Taille des éléments.
Les géométries (geom_) définissent le type de représentation graphique :
1. Nuage de points (geom_point())
Idéal pour montrer la relation entre deux variables numériques.
ggplot(df, aes(x = age, y = income)) +
geom_point()
2. Graphique linéaire (geom_line())
Souvent utilisé pour des données temporelles ou des séries chronologiques.
ggplot(df, aes(x = year, y = sales)) +
geom_line()
3. Graphique en barres (geom_bar() et geom_col())
geom_bar() compte par défaut la fréquence de chaque catégorie, tandis que geom_col() représente directement les valeurs présentes dans une colonne y.
# Représente la valeur de la colonne 'sales' pour chaque 'category'
ggplot(df, aes(x = category, y = sales)) +
geom_col()
À vous de jouer
Exercice 1 : Créer un nuage de points de base
Créez un nuage de points (scatter plot) en utilisant le data frame df. Associez la colonne height à l'axe x et la colonne weight à l'axe y. Utilisez geom_point().
Afficher l'indice
Assurez-vous d'utiliser ggplot(df, aes(x = height, y = weight)) + geom_point()
Solution disponible après 3 tentatives
Exercice 2 : Ajouter une couleur basée sur les données
Modifiez le graphique précédent en associant la propriété color à la colonne gender au sein de aes() pour colorer les points selon le genre.
Afficher l'indice
Incluez color = gender au sein de aes(), par exemple : aes(x = height, y = weight, color = gender).
Solution disponible après 3 tentatives
Exercice 3 : Graphique linéaire
Créez un graphique linéaire en utilisant df. Associez la colonne year à l'axe x et la colonne sales à l'axe y. Ajoutez la couche géométrique geom_line().
Afficher l'indice
Utilisez ggplot(df, aes(x = year, y = sales)) + geom_line()
Solution disponible après 3 tentatives
Exercice 4 : Graphique en barres avec geom_col
Créez un graphique en colonnes pour visualiser la valeur des données. Associez la colonne category à l'axe x et la colonne value à l'axe y. Utilisez la géométrie geom_col().
Afficher l'indice
Utilisez ggplot(df, aes(x = category, y = value)) + geom_col()
Solution disponible après 3 tentatives
Exercice 5 : Combiner plusieurs géométries
Dans ggplot2, vous pouvez superposer des couches géométriques. Créez un graphique combinant geom_point() et geom_smooth() en associant x_val à l'axe x et y_val à l'axe y.
Afficher l'indice
Ajoutez geom_point() et geom_smooth() séparés par le signe '+'.
Solution disponible après 3 tentatives