ggplot2
Ce document donne quelques éléments introductifs sur l’utilisation du package ggplot2
.
ggplot2
ggplot2
est un package de plus en plus utilisé pour tracer des graphiques sur R. La syntaxe est différente des fonctions graphiques de base, mais s’avère très puissante en pratique. Une très bonne référence pour commencer à utiliser ce package se trouve ici. L’aide en ligne est plus complète (mais très fournie). On pourra également se reporter à cet aide-mémoire
Installer le package puis le charger.
Importer ensuite le jeu de données naissance.txt
documentant le poids à la naissance de 189 nouveaux-nés en fonctions d’un certains nombres de variable (dont l’âge de la mère, son poids ainsi que l’historique d’hypertension), puis transformer la variable SMOKE
pour illustrer le codage “Non-Fumeur” (codé 0
) et “Fumeur” (codé 1
), ainsi que la variable HT
codée “Non” (0
) et “Oui” (1
).
## 'data.frame': 189 obs. of 10 variables:
## $ ID : int 85 86 87 88 89 91 92 93 94 95 ...
## $ AGE : int 19 33 20 21 18 21 22 17 29 26 ...
## $ LWT : int 182 155 105 108 107 124 118 103 123 113 ...
## $ RACE : int 2 3 1 1 1 3 1 3 1 1 ...
## $ SMOKE: Factor w/ 2 levels "Non-Fumeur","Fumeur": 1 1 2 2 2 1 1 1 2 2 ...
## $ PTL : int 0 0 0 0 0 0 0 0 0 0 ...
## $ HT : Factor w/ 2 levels "Non","Oui": 1 1 1 1 1 1 1 1 1 1 ...
## $ UI : int 1 0 0 1 1 0 0 0 0 0 ...
## $ FVT : int 0 3 1 2 0 0 1 1 1 0 ...
## $ BWT : int 2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
ggplot()
ggplot2
fonctionne par un système de couches (“layers”). Ce système permet de rajouter des couches avec +
.
La fonction principale du package ggplot2
est la fonction ggplot()
. À cette fonction, qui a pour but de spécifier et de préparer les données pour le graphique, on ajoute donc des couches grâce aux fonctions geom_...()
, qui vont spécifier le type de graphique à afficher (par exemple geom_point()
ou geom_bar()
).
De plus, ggplot2
permet de rajouter des couches à des graphiques déjà existants sauvegardés dans des objets. C’est un comportement très différent de la gestion des graphiques comparé au R
de base.
Tracer le nuage de point du poids à la naissance (variable BWT
) en fonction de l’âge (variable AGE
) grâce à la fonction geom_point()
.
Ajouter une couleur selon le statut tabagique de la mère (SMOKE
) (on remarque que la légende se trace automatiquement).
Rajouter une droite de régression avec la fonction geom_smooth()
.
Consulter l’aide de la fonction geom_smooth()
pour enlever l’intervalle de confiance et tracer la droite en rouge.
A l’aide de geom_hline()
, ajouter une droite horizontale d’ordonnée 2500, bleue et de style “tirets”.
Créer un objet p
qui contient le graphique du nuage de points uniquement comme demandé à la question 1 (taper le nom de l’objet pour vérifier que le graphique a été correctement créé.). Rajouter ensuite la droite de régression en modifiant p
.
Préciser le nom des axes.
Ajouter le thème theme_bw()
afin de se rapprocher d’un style plus classique de graphique.
Le package ggplot2
rend très facile la stratification des représentations selon des groupes définis par une variable catégorielle.
group
dans la fonction aes()
de la fonction geom_smooth()
).Utiliser la fonction facet_wrap()
pour tracer 2 graphiques distincts.
Laisser l’échelle s’adapter à chacun des 2 graphiques.
x=""
dans les esthétiques de geom_boxplot()
).Stratifier selon le statut fumeur de la mère (on pourra s’intéresser à l’esthétique fill
).
Ajouter un titre avec la fonction ggtitle()
.
geom_histogram()
. Ajouter un contour blanc pour une meilleure lisibilité. Ajouter une ligne verticale indiquant la limite inférieure de 2,5 kg.Remplir les barres de l’histogramme selon l’historique d’hypertension.
Changer le code couleur grâce à la fonction scale_fill_manual()
.
geom_density()
.Passer à l’échelle logarithmique avec la fonction scale_x_log10()
.
Exporter le graphique au fromat .pdf avec la fonction ggsave()
.
Ajouter une ligne verticale indiquant la limite inférieure de 2,5 kg, puis ajouter une légende pour la ligne verticale.