Articles

R Histogrammen

Posted on

In dit artikel leert u de hist() functie te gebruiken om histogrammen te maken in R programmering met behulp van talrijke voorbeelden.

Histogrammen kunnen worden gemaakt met behulp van de hist() functie in de programmeertaal R. Deze functie neemt een vector van waarden in waarvoor het histogram wordt geplot.

Laten we de ingebouwde dataset airquality gebruiken die dagelijkse metingen van de luchtkwaliteit in New York bevat, mei tot september 1973.-R documentatie.

> 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 ...

We zullen de temperatuurparameter gebruiken die 154 waarnemingen in graden Fahrenheit heeft.

Voorbeeld 1: Eenvoudig histogram

Temperature <- airquality$Temphist(Temperature)

Eenvoudig histogram in R-programmeren

We zien hierboven dat er 9 cellen zijn met even ver uit elkaar staande onderbrekingen. In dit geval is de hoogte van een cel gelijk aan het aantal waarnemingen dat in die cel valt.

We kunnen extra parameters doorgeven om te bepalen hoe onze plot eruitziet. U kunt hierover lezen in de help-sectie ?hist.

Enkele van de meest gebruikte zijn, main om de titel te geven, xlab en ylab om labels voor de assen te geven, xlim en ylim om het bereik van de assen aan te geven, col om de kleur te definiëren enz.

Extra, met het argument freq=FALSE kunnen we de waarschijnlijkheidsverdeling krijgen in plaats van de frequentie.

Voorbeeld 2: Histogram met toegevoegde parameters

# 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)

Maak een histogram in R met parameters zoals kleur.

Merk op dat de y-as is gelabeld als dichtheid in plaats van frequentie. In dit geval is het totale gebied van het histogram gelijk aan 1.

Return Waarde van hist()

De functie hist() retourneert een lijst met 6 componenten.

> 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"

We zien dat een object van klasse histogram wordt teruggegeven dat heeft:

  • breaks-plaatsen waar de breuken voorkomen,
  • counts-het aantal waarnemingen dat in die cel valt,
  • density-de dichtheid van de cellen, mids-de middelpunten van cellen,
  • xname-de naam van het x-argument en
  • equidisteen logische waarde die aangeeft of de breuken al dan niet op gelijke afstand van elkaar staan.

We kunnen deze waarden gebruiken voor verdere verwerking.

In het volgende voorbeeld gebruiken we bijvoorbeeld de returnwaarden om de tellingen boven aan elke cel te plaatsen met behulp van de text() functie.

Voorbeeld 3: Histogram-retourwaarden gebruiken voor labels met behulp van text()

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

Histogram met tekst-retourwaarde

Histogram met tekst-retourwaarde

Het aantal breuken bepalen

Met het breaks-argument kunnen we het aantal cellen opgeven dat we in het histogram willen hebben. Dit aantal is echter slechts een suggestie.

R berekent het beste aantal cellen, met deze suggestie in gedachten. Hieronder volgen twee histogrammen van dezelfde gegevens met verschillende aantallen cellen.

Voorbeeld 4: Histogram met verschillende onderbrekingen

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

R Histogram met onderbreking

In de bovenstaande figuur zien we dat het werkelijke aantal geplotte cellen groter is dan we hadden opgegeven.

We kunnen ook onderbrekingspunten tussen de cellen definiëren als een vector. Dit maakt het mogelijk een histogram met ongelijke intervallen te tekenen. In dat geval is de oppervlakte van de cel evenredig met het aantal waarnemingen dat in die cel valt.

Voorbeeld 5: Histogram met niet-uniforme breedte

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))

R histogram met verschillende breedten

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *