Articles

R Histogrammes

Posted on

Dans cet article, vous apprendrez à utiliser la fonction hist() pour créer des histogrammes en programmation R à l’aide de nombreux exemples.

Un histogramme peut être créé à l’aide de la fonction hist() dans le langage de programmation R. Cette fonction prend dans un vecteur de valeurs pour lequel l’histogramme est tracé.

Utilisons le jeu de données intégré airquality qui dispose de Mesures quotidiennes de la qualité de l’air à New York, de mai à septembre 1973.-Documentation R.

> str(airquality)'data.frame':153 obs. of 6 variables:$ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ...$ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ...$ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...$ Temp : int 67 72 74 62 56 66 65 59 61 69 ...$ Month : int 5 5 5 5 5 5 5 5 5 5 ...$ Day : int 1 2 3 4 5 6 7 8 9 10 ...

Nous utiliserons le paramètre température qui comporte 154 observations en degré Fahrenheit.

Exemple 1 : histogramme simple

Temperature <- airquality$Temphist(Temperature)

Histogramme simple en programmation R

Nous pouvons voir ci-dessus qu’il y a 9 cellules avec des ruptures équidistantes. Dans ce cas, la hauteur d’une cellule est égale au nombre d’observations tombant dans cette cellule.

Nous pouvons passer des paramètres supplémentaires pour contrôler l’aspect de notre graphique. Vous pouvez les lire dans la section d’aide ?hist.

Certains de ceux qui sont fréquemment utilisés sont, main pour donner le titre, xlab et ylab pour fournir des étiquettes pour les axes, xlim et ylim pour fournir la portée des axes, col pour définir la couleur, etc.

En outre, avec l’argument freq=FALSE on peut obtenir la distribution de probabilité au lieu de la fréquence.

Exemple 2 : Histogramme avec ajout de paramètres

# histogram with added parametershist(Temperature,main="Maximum daily temperature at La Guardia Airport",xlab="Temperature in degrees Fahrenheit",xlim=c(50,100),col="darkmagenta",freq=FALSE)

Créer un histogramme dans R avec des paramètres tels que la couleur.

Notez que l’axe des y est étiqueté densité au lieu de fréquence. Dans ce cas, la surface totale de l’histogramme est égale à 1.

Valeur renvoyée par hist()

La fonction hist() renvoie une liste à 6 composantes.

> h <- hist(Temperature)> h$breaks 55 60 65 70 75 80 85 90 95 100$counts 8 10 15 19 33 34 20 12 2$density 0.010457516 0.013071895 0.019607843 0.024836601 0.043137255 0.044444444 0.026143791 0.015686275 0.002614379$mids 57.5 62.5 67.5 72.5 77.5 82.5 87.5 92.5 97.5$xname "Temperature"$equidist TRUEattr(,"class") "histogram"

Nous voyons qu’un objet de classe histogram est retourné qui possède :

  • breaks-lieux où se produisent les ruptures,
  • counts-le nombre d’observations tombant dans cette cellule,
  • density-la densité des cellules, mids-les points médians des cellules,
  • xname-le nom de l’argument x et
  • equidist-une valeur logique indiquant si les ruptures sont également espacées ou non.

Nous pouvons utiliser ces valeurs pour un traitement ultérieur.

Par exemple, dans l’exemple suivant, nous utilisons les valeurs de retour pour placer les comptes en haut de chaque cellule à l’aide de la fonction text().

Exemple 3 : Utiliser les valeurs de retour de l’histogramme pour les étiquettes en utilisant text()

h <- hist(Temperature,ylim=c(0,40))text(h$mids,h$counts,labels=h$counts, adj=c(0.5, -0.5))

Histogramme avec valeur de retour textuelle

Définir le nombre de ruptures

Avec l’argument breaks, nous pouvons spécifier le nombre de cellules que nous voulons dans l’histogramme. Cependant, ce nombre n’est qu’une suggestion.

R calcule le meilleur nombre de cellules, en gardant cette suggestion à l’esprit. Voici deux histogrammes sur les mêmes données avec un nombre de cellules différent.

Exemple 4 : Histogramme avec différentes ruptures

hist(Temperature, breaks=4, main="With breaks=4")hist(Temperature, breaks=20, main="With breaks=20")

R Histogramme avec rupture

Dans la figure ci-dessus, nous voyons que le nombre réel de cellules tracées est supérieur à celui que nous avions spécifié.

Nous pouvons également définir des points de rupture entre les cellules sous forme de vecteur. Cela permet de tracer un histogramme avec des intervalles inégaux. Dans ce cas, la surface de la cellule est proportionnelle au nombre d’observations tombant à l’intérieur de cette cellule.

Exemple 5 : Histogramme avec largeur non uniforme

hist(Temperature,main="Maximum daily temperature at La Guardia Airport",xlab="Temperature in degrees Fahrenheit",xlim=c(50,100),col="chocolate",border="brown",breaks=c(55,60,70,75,80,100))

Histogramme R avec différentes largeurs

.

Laisser un commentaire

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