Visualisations graphiques dans R avec ggplot2

R pour les utilisateurs et utilisatrices de SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Module ggplot2

logo autocollant hexagonal ggplot2

  • ggplot2 est un puissant module graphique pour R
  • Le « GG » de ggplot signifie « grammar of graphics »
  • ggplot2 construit les graphiques par couches
  • Un ou plusieurs objets géométriques s'ajoutent à la couche de base
R pour les utilisateurs et utilisatrices de SAS

Couches – couche de base

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Définir la couche de base avec ggplot()
  • Indiquer data = abalone
  • Définir aes à sex et diameter

  • Aucun objet graphique pour l'instant

  • L'axe x est prêt pour sex
  • L'axe y est prêt pour diameter
  • La grille est en place

environnement graphique ggplot2 sans boîte à moustaches pour l'instant

R pour les utilisateurs et utilisatrices de SAS

Couches – ajouter le geom boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • L'opérateur plus + ajoute une couche
  • Ajout du diagramme en boîtes geom_boxplot()

  • Résultat : une série de boîtes

  • Diamètres d'abalone selon le sexe
  • F femelles, I juvéniles et M mâles

boîtes à moustaches ggplot2 ajoutées

R pour les utilisateurs et utilisatrices de SAS

Couches – ajouter un thème

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Ajouter une couche « thème » avec theme_bw()
  • Retire l'arrière-plan gris
  • Ajoute un cadre noir autour du graphique

diagramme en boîtes ggplot2 avec thème noir et blanc

R pour les utilisateurs et utilisatrices de SAS

Remplacer le geom boxplot par le geom violin

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin remplace geom_boxplot
  • Crée une forme de violon
  • Reflète la densité des données
  • Un simple changement pour une nouvelle figure

diagramme en violon ggplot2

R pour les utilisateurs et utilisatrices de SAS

Histogramme à une variable

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Créer un histogramme pour une variable
  • Une variable = une esthétique
  • Ajouter geom_histogram()
  • Régler aes() à shuckedWeight
  • Les couleurs par défaut sont à ajuster

histogramme ggplot2 tout en noir

R pour les utilisateurs et utilisatrices de SAS

Histogramme : ajouter des couleurs

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Modifier les paramètres graphiques
  • Définir la color des contours
  • Définir la couleur de fill des barres
  • Chaque option se met dans les ()
  • L'histogramme est bien plus lisible

histogramme ggplot2 avec barres bleues et contours noirs

R pour les utilisateurs et utilisatrices de SAS

Histogramme : ajouter un titre et des axes

# Add x, y axis labels and title
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue") +
  xlab("Shucked Weight") +
  ylab("Frequency Counts") +
  ggtitle("Shucked Weights Histogram")
  • Ajouter de meilleures étiquettes d'axes et un titre
  • Utiliser xlab() et ylab() pour les axes
  • Utiliser ggtitle() pour le titre
  • Cette figure est prête à être publiée !

histogramme ggplot2 avec étiquettes d'axes et titre

R pour les utilisateurs et utilisatrices de SAS

Créer un nuage de points

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Un nuage de points aes requiert deux variables
  • geom_point() ajoute les points
  • Masse de la coquille selon le nombre d'anneaux

nuage de points ggplot2 de shellWeight selon rings

R pour les utilisateurs et utilisatrices de SAS

Nuage de points : ajouter une courbe lissée

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Ajouter geom_smooth() au nuage de points
  • Comprend une zone d'intervalle de confiance ombrée

nuage de points ggplot2 avec courbe lissée ajoutée

R pour les utilisateurs et utilisatrices de SAS

Créer des panneaux par une autre variable

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Ajouter une couche de plus au nuage de points
  • Créer des panneaux pour chaque sexe d'abalone
  • Ajouter la couche facet_wrap()
  • vars(sex) indique la variable des panneaux

nuage de points ggplot2 avec 3 panneaux par sexe

R pour les utilisateurs et utilisatrices de SAS

Suite du cours

  • Le chapitre 1 se termine par une brève intro aux graphiques
    • bases graphiques avec ggplot2
    • visualiser les mesures d'abalone selon le sexe
  • Le chapitre 2 porte sur la transformation des données
    • nettoyer l'ensemble abalone
  • Le chapitre 3 couvre l'exploration des données
    • stats descriptives, corrélations et tests de comparaison
  • Le chapitre 4 traite de la modélisation et de la présentation
    • prédire l'âge des abalones avec les mesures
    • explorer les modèles selon le sexe
R pour les utilisateurs et utilisatrices de SAS

Créons quelques graphiques pour les abalones

R pour les utilisateurs et utilisatrices de SAS

Preparing Video For Download...