Comment ajouter des barres d’erreur aux graphiques dans R (avec exemples)



Vous pouvez utiliser la syntaxe de base suivante pour ajouter des barres d’erreur à un graphique à barres dans R :

ggplot(df) +
    geom_bar(aes(x=x, y=y), stat='identity') +
    geom_errorbar(aes(x=x, ymin=y-sd, ymax=y+sd), width=0.4)

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Exemple 1 : ajouter des barres d’erreur à l’aide de données récapitulatives

Supposons que nous ayons le bloc de données suivant dans R qui affiche les statistiques récapitulatives pour cinq catégories :

#create data frame
df <- data.frame(category=c('A', 'B', 'C', 'D', 'E'),
                 value=c(12, 17, 30, 22, 19),
                 sd=c(4, 5, 7, 4, 2))

#view data frame
df

  category value sd
1        A    12  4
2        B    17  5
3        C    30  7
4        D    22  4
5        E    19  2

Nous pouvons utiliser le code suivant pour créer un graphique à barres avec des barres d’erreur afin de visualiser ces données :

library(ggplot2)

#create bar plot with error bars
ggplot(df) +
    geom_bar(aes(x=category, y=value), stat='identity', fill='steelblue') +
    geom_errorbar(aes(x=category, ymin=value-sd, ymax=value+sd), width=0.4)

tracé à barres avec barres d'erreur dans R

N’hésitez pas à utiliser les arguments suivants pour modifier l’apparence des barres d’erreur :

  • width : La largeur des barres d’erreur
  • size : L’épaisseur des barres d’erreur
  • color : La couleur des barres d’erreur

Par exemple:

library(ggplot2)

#create bar plot with custom error bars 
ggplot(df) +
    geom_bar(aes(x=category, y=value), stat='identity', fill='steelblue') +
    geom_errorbar(aes(x=category, ymin=value-sd, ymax=value+sd),
                  width=0.3, size=2.3, color='red')

Exemple 2 : ajouter des barres d’erreur à l’aide de données brutes

Supposons que nous ayons le bloc de données suivant qui montre les données brutes pour cinq catégories différentes :

#make this example reproducible
set.seed(0)

#create data frame
df <- data.frame(category=rep(c('A', 'B', 'C', 'D', 'E'), each=10),
                 value=runif(50, 10, 20))

#view first six rows of data frame
head(df)

  category    value
1        A 18.96697
2        A 12.65509
3        A 13.72124
4        A 15.72853
5        A 19.08208
6        A 12.01682

Le code suivant montre comment résumer les données, puis créer un graphique à barres avec des barres d’erreur :

library(dplyr)
library(ggplot2)

#summarize mean and sd for each category
df_summary <- df %>%
  group_by(category) %>%
  summarize(mean=mean(value),
            sd=sd(value))

#view summary data
df_summary

# A tibble: 5 x 3
  category  mean    sd
       
1 A         16.4  2.80
2 B         14.9  2.99
3 C         14.6  3.25
4 D         15.2  2.48
5 E         15.8  2.41 

#create bar plot with error bars
ggplot(df_summary) +
    geom_bar(aes(x=category, y=mean), stat='identity', fill='steelblue') +
    geom_errorbar(aes(x=category, ymin=mean-sd, ymax=mean+sd), width=0.3, color='red')

Ressources additionnelles

Les didacticiels suivants expliquent comment créer d’autres visualisations de données courantes dans R :

Comment tracer plusieurs boîtes à moustaches dans R
Comment tracer plusieurs histogrammes dans R
Comment tracer plusieurs lignes dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *