ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données


Ce tutoriel R décrit comment créer un graphique avec des barres d’erreur utilisant le logiciel R et le package ggplot2.

Il y a différents types de barres d’erreur, lesquelles peuvent être créées en utilisant les fonctions ci-dessous:

  • geom_errorbar()
  • geom_linerange()
  • geom_pointrange()
  • geom_crossbar()
  • geom_errorbarh()

Ajouter des barres d’erreurs sur un graphique en barre et un graphique linéaire

Préparer les données

Le jeu de données ToothGrowth est utilisé. Il décrit l’effet de la Vitamine C sur la croissance des dents des porcs guinéens. Trois doses de Vitamine C (0.5, 1 et 2 mg) avec chacune des méthodes de livraison [orange juice (OJ) ou ascorbic acid (VC)] sont utilisées:

library(ggplot2)
df <- ToothGrowth
df$dose <- as.factor(df$dose)
head(df)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

Assurez-vous que la variable dose soit convertie en facteur en utilisant le script de R ci-dessus.

  • len : Longueur des dents
  • dose : Dose en milligrammes (0.5, 1, 2)
  • supp : Type de supplément (VC or OJ)

Dans les exemples ci-dessous, nous allons dessiner la moyenne de la longueur des dents dans chaque groupe. L’écart-type est utilisé comme barre d’erreurs sur le graphe.

Tout d’abord, la fonction ci-dessous sera utilisée pour calculer la moyenne et l’écart type, pour la variable d’intérêt, dans chaque groupe:

#+++++++++++++++++++++++++
# Fonction pour calculer la moyenne et l'écart-type
# pour chaque groupe
#+++++++++++++++++++++++++
# data : une data frame
# varname: le nom de la colonne contenant la variable 
  # d'intérêt 
# groupnames : vecteur contenant les noms des colonnes à utiliser
  # comme des variables de grouping 
data_summary <- function(data, varname, groupnames){
  require(plyr)
  summary_func <- function(x, col){
    c(mean = mean(x[[col]], na.rm=TRUE),
      sd = sd(x[[col]], na.rm=TRUE))
  }
  data_sum<-ddply(data, groupnames, .fun=summary_func,
                  varname)
  data_sum <- rename(data_sum, c("mean" = varname))
 return(data_sum)
}

Résumé statistique des données:

df2 <- data_summary(ToothGrowth, varname="len", 
                    groupnames=c("supp", "dose"))
# Convertir dose en facteur
df2$dose=as.factor(df2$dose)
head(df2)
##   supp dose   len       sd
## 1   OJ  0.5 13.23 4.459709
## 2   OJ    1 22.70 3.910953
## 3   OJ    2 26.06 2.655058
## 4   VC  0.5  7.98 2.746634
## 5   VC    1 16.77 2.515309
## 6   VC    2 26.14 4.797731

Barplot avec barre d’erreurs

La fonction geom_errorbar() est utilisée:

library(ggplot2)
# Graphique par défaut
p<- ggplot(df2, aes(x=dose, y=len, fill=supp)) + 
  geom_bar(stat="identity", color="black", 
           position=position_dodge()) +
  geom_errorbar(aes(ymin=len-sd, ymax=len+sd), width=.2,
                 position=position_dodge(.9)) 
print(p)
# Graphique fini
p+labs(title="Tooth length per dose", x="Dose (mg)", y = "Length")+
   theme_classic() +
   scale_fill_manual(values=c('#999999','#E69F00'))

Notez que, vous pouvez choisir de garder uniquement les barres d’erreurs supérieures.

# Garder seulement les barres d'érreurs supérieures
 ggplot(df2, aes(x=dose, y=len, fill=supp)) + 
  geom_bar(stat="identity", color="black", position=position_dodge()) +
  geom_errorbar(aes(ymin=len, ymax=len+sd), width=.2,
                 position=position_dodge(.9)) 

Lire plus sur ggplot2 et barplots : ggplot2 barplots

Graphique linéaire avec barres d’érreurs

# Graphique par défaut
p<- ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
  geom_line() +
  geom_point()+
  geom_errorbar(aes(ymin=len-sd, ymax=len+sd), width=.2,
                 position=position_dodge(0.05))
print(p)
# Graphique fini
p+labs(title="Tooth length per dose", x="Dose (mg)", y = "Length")+
   theme_classic() +
   scale_color_manual(values=c('#999999','#E69F00'))

Vous pouvez aussi utiliser geom_pointrange() ou geom_linerange() au lieu d’utiliser la fonction geom_errorbar()

# Utiliser geom_pointrange
ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
geom_pointrange(aes(ymin=len-sd, ymax=len+sd))
# Utiliser geom_line()+geom_pointrange()
ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
  geom_line()+
  geom_pointrange(aes(ymin=len-sd, ymax=len+sd))

Lire plus sur ggplot2 et les graphiques linéaires : ggplot2 graphique linéaire

Dot plot avec lepoint de la moyenne et les barres d’érreurs

Les fonctions geom_dotplot() et stat_summary() sont utilisées :

La moyenne +/- SD peut être ajoutée comme un crossbar , une barre d’erreur ou un pointrange :

p <- ggplot(df, aes(x=dose, y=len)) + 
    geom_dotplot(binaxis='y', stackdir='center')
# utiliser geom_crossbar()
p + stat_summary(fun.data="mean_sdl", fun.args = list(mult=1), 
                 geom="crossbar", width=0.5)
# Utiliser geom_errorbar()
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), 
        geom="errorbar", color="red", width=0.2) +
  stat_summary(fun.y=mean, geom="point", color="red")
   
# Utiliser geom_pointrange()
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), 
                 geom="pointrange", color="red")

Lire plus sur ggplot2 dot plots : ggplot2 dot plot

Infos

Cette analyse a été faite en utilisant le logiciel R (ver. 3.2.4) et le package ggplot2 (ver. 2.1.0)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données
ggplot2 légende : Modifier facilement la légende d'un graphique - Logiciel R et visualisation de données
ggplot2 graduation des axes : Guide pour personnaliser les étiquettes des graduations - Logiciel R et visualisation de données
ggplot2 barplots : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 titres : Titre principal, titre des axes et légendes - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données
ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données
ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données
ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 types de points - Logiciel R et visualisation de données
ggplot2 histogramme : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2
ggplot2 : heatmap d'une matrice de corrélation - Logiciel R et visualisation de données
ggplot2 type de traits : Comment changer le type de trait d'un graphique avec le logiciel R?
ggplot2 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 stripchart (jitter): Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données
ggplot2 pivoter un graphique : Inverser et retourner le graphique - Logiciel R et visualisation de données
ggplot2 qq plot (quantile - quantile plot) : Guide de démarrage rapide - Logiciel R et visualisation de données

Cette page a été vue 8507 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons