Comment spécifier des ruptures d’histogramme dans R (avec des exemples)
Par défaut, la fonction hist() dans R utilise la règle de Sturges pour déterminer le nombre de cases à utiliser dans un histogramme.
La règle de Sturges utilise la formule suivante pour déterminer le nombre optimal de groupes à utiliser dans un histogramme :
Bacs optimaux = ⌈log 2 n + 1⌉
où:
- n : le nombre total d’ observations dans l’ensemble de données.
- ⌈ ⌉ : Symboles signifiant « plafond », c’est-à-dire arrondir la réponse à l’entier supérieur le plus proche.
Par exemple, s’il y a 31 observations dans un ensemble de données, la règle de Sturge utilisera la formule suivante pour déterminer le nombre optimal de groupes à utiliser dans un histogramme :
Bacs optimaux = ⌈log 2 (31) + 1⌉ = ⌈4,954 + 1⌉ = ⌈5,954⌉ = 6 .
Selon la règle de Sturges, nous devrions utiliser 6 cases dans l’histogramme pour visualiser cet ensemble de données.
Si vous utilisez la fonction hist() dans R, la règle de Sturges sera utilisée pour choisir automatiquement le nombre de bacs à afficher dans l’histogramme.
hist(data)
Même si vous utilisez l’argument breaks pour spécifier un nombre différent de bacs à utiliser, R l’utilisera uniquement comme « suggestion » du nombre de bacs à utiliser.
hist(data, breaks=7)
Cependant, vous pouvez utiliser le code suivant pour forcer R à utiliser un nombre spécifique de cases dans un histogramme :
#create histogram with 7 bins hist(data, breaks = seq(min(data), max(data), length.out = 8))
Remarque : Vous devez utiliser une longueur de n+1 pour length.out où n est le nombre de bacs souhaité.
L’exemple suivant montre comment utiliser ce code dans la pratique.
Exemple : spécifier des sauts d’histogramme dans R
Supposons que nous ayons l’ensemble de données suivant dans R avec 16 valeurs :
#create vector of 16 values
data <- c(2, 3, 3, 3, 4, 4, 5, 6, 8, 10, 12, 14, 15, 18, 20, 21)
Si nous utilisons la fonction hist() , R créera l’histogramme suivant avec 5 bins :
#create histogram
hist(data)
Remarque : R a utilisé la règle de Sturges pour déterminer que 5 groupes était le nombre optimal de groupes à utiliser pour visualiser un ensemble de données avec 16 observations.
Si nous essayons d’utiliser l’argument breaks pour spécifier 7 groupes à utiliser dans l’histogramme, R ne prendra cela que comme une « suggestion » et choisira à la place d’utiliser 10 groupes :
#attempt to create histogram with 7 bins
hist(data, breaks=7)
Cependant, nous pouvons utiliser le code suivant pour forcer R à utiliser 7 bins dans l’histogramme :
#create histogram with 7 bins
hist(data, breaks = seq(min(data), max(data), length.out = 8))
Notez que le résultat est un histogramme avec 7 cases équidistantes.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment créer un histogramme de fréquence relative dans R
Comment tracer plusieurs histogrammes dans R