. (U kunt hier een probleem melden over de inhoud van deze pagina)Wilt u uw inhoud delen op R-bloggers? klik dan hier als u een blog hebt, of hier als u dat niet hebt.

De komende week zullen we de basisbeginselen behandelen van hoe u uw eigen histogrammen in R kunt maken. Drie opties zullen worden onderzocht: basis R-commando’s, ggplot2 en ggvis. Deze posts zijn bedoeld voor beginnende en gevorderde R-gebruikers die een toegankelijke en eenvoudig te begrijpen bron nodig hebben. Wil je meer leren? Ontdek de R-tutorials op DataCamp.

Wat is een histogram?

Een histogram is een visuele weergave van de verdeling van een dataset. Als zodanig is de vorm van een histogram zijn meest voor de hand liggende en informatieve eigenschap: je kunt er gemakkelijk mee zien waar relatief veel gegevens staan en waar heel weinig gegevens te vinden zijn (Verzani 2004). Met andere woorden, u kunt zien waar het midden is in uw gegevensverdeling, hoe dicht de gegevens rond dit midden liggen en waar eventuele uitschieters te vinden zijn. Precies vanwege dit alles zijn histogrammen een geweldige manier om je data te leren kennen!

Maar hoe ziet die specifieke vorm van een histogram er nu precies uit? In het kort bestaat het histogram uit een x-as, een y-as en diverse balken van verschillende hoogte. De y-as geeft aan hoe vaak de waarden op de x-as in de gegevens voorkomen, terwijl de balken reeksen van waarden of continue categorieën op de x-as groeperen. Dit laatste verklaart waarom histogrammen geen openingen tussen de staven hebben.

Merk op dat de staven van histogrammen vaak “bins” worden genoemd ; deze tutorial zal ook die naam gebruiken.

Hoe maak ik een histogram met Basic R

Stap een – Laat me de gegevens zien

Om histogrammen te kunnen tekenen, moet je eerst een dataset importeren of een dataset gebruiken die in R is ingebouwd. Deze tutorial maakt gebruik van twee datasets: de ingebouwde R dataset AirPassengers en een dataset met de naam chol, opgeslagen in een .txt bestand en beschikbaar om te downloaden.

chol = read.csv("https://s3.amazonaws.com/assets.datacamp.com/blog_assets/chol.txt", sep = " ") 

Stap twee – Maak jezelf vertrouwd met de Hist() Functie

Je kunt eenvoudig een histogram maken door de hist() functie te gebruiken, die een histogram berekent van de gegeven data waarden. Je zet de naam van je dataset tussen de haakjes van deze functie, zoals dit:

hist(AirPassengers)

Wat resulteert in het volgende histogram:

Wilt u echter alleen een bepaalde kolom van een dataframe selecteren, chol bijvoorbeeld, om een histogram te maken, moet u de hist() functie gebruiken met de naam van de dataset in combinatie met het $ teken, gevolgd door de naam van de kolom:

hist(chol$AGE) #computes a histogram of the data values in the column AGE of the dataframe named "chol”

Stap drie – Zet de Hist()-functie een tandje bij

De histogrammen uit de vorige sectie zien er een beetje saai uit, nietwaar? De standaard visualisaties dragen meestal niet veel bij aan het begrip van uw histogrammen. U moet dus nog een stap zetten om uw histogrammen beter en gemakkelijker te begrijpen. Gelukkig is dit niet al te moeilijk: R biedt verschillende eenvoudige en snelle manieren om de visualisatie van diagrammen te optimaliseren, terwijl u nog steeds de functie hist() gebruikt.

Om je histogram aan te passen, hoef je alleen maar meer argumenten toe te voegen aan de hist() functie, net als dit:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5)

Deze code berekent een histogram van de datawaarden uit de dataset AirPassengers, geeft het “Histogram voor vliegtuigpassagiers” als titel, labelt de x-as als “Passengers”, geeft een blauwe rand en een groene kleur aan de bins, terwijl de x-as wordt beperkt van 100 tot 700, de op de y-as afgedrukte waarden met 1 worden geroteerd en de bin-breedte wordt gewijzigd in 5.

Overrompeld door deze grote reeks code? Geen probleem! Laten we het opsplitsen in kleinere stukjes om te zien wat elk argument doet.

Namen/kleuren

Verander de titel van het histogram door main toe te voegen als argument aan hist() functie:

hist(AirPassengers, main="Histogram for Air Passengers") #Histogram of the AirPassengers dataset with title "Histogram for Air Passengers”

Om het label van de x-as aan te passen, voegt u xlab toe. Op dezelfde manier kunt u ook ylab gebruiken om het label van de y-as aan te passen:

hist(AirPassengers, xlab="Passengers", ylab="Frequency of Passengers") #Histogram of the AirPassengers dataset with changed labels on the x-and y-axes

Als u de kleuren van het standaard histogram wilt veranderen, voegt u eenvoudig de argumenten border of col toe. U kunt, zoals de namen zelf al een beetje weggeven, de randen of de kleuren van uw histogram aanpassen.

hist(AirPassengers, border="blue", col="green") #Histogram of the AirPassengers dataset with blue-border bins with green filling

Tip vergeet niet om de kleuren en namen tussen "" te zetten.

X en Y assen

Verander het bereik van de x en y waarden op de assen door xlim en ylim als argumenten aan de hist() functie toe te voegen:

hist(AirPassengers, xlim=c(100,700), ylim=c(0,30)) #Histogram of the AirPassengers dataset with the x-axis limited to values 100 to 700 and the y-axis limited to values 0 to 30

Merk op dat de c() functie wordt gebruikt om de waarden op de assen af te bakenen wanneer u xlim en ylim gebruikt. Het neemt twee waarden aan: de eerste is de beginwaarde, de tweede is de eindwaarde

Roteer de labels op de y-as door “las = 1” als argument toe te voegen. las kan 0, 1, 2 of 3 zijn.

hist(AirPassengers, las=1) #Histogram of the AirPassengers dataset with the y-values projected horizontally

Al naar gelang welke optie u kiest, zal de plaatsing van het label verschillen: als u 0 kiest, zal het label altijd evenwijdig aan de as worden geplaatst (dat is de standaard); als u 1 kiest, zal het label horizontaal worden geplaatst. Kies 2 als u wilt dat het loodrecht op de as staat en 3 als u wilt dat het verticaal wordt geplaatst.

Bins

U kunt de binbreedte veranderen door breaks als argument toe te voegen, samen met het aantal breakpoints dat u wilt hebben:

hist(AirPassengers, breaks=5) #Histogram of the AirPassengers dataset with 5 breakpoints

Als u meer controle wilt hebben over de breekpunten tussen de bins, kunt u het breaks argument verrijken door het een vector van breekpunten te geven. U kunt dit doen door de functie c() te gebruiken:

hist(AirPassengers, breaks=c(100, 300, 500, 700)) #Compute a histogram for the data values in AirPassengers, and set the bins such that they run from 100 to 300, 300 to 500 and 500 to 700.

De functie c() kan uw code echter soms erg rommelig maken. Daarom kunt u in plaats daarvan =seq(x, y, z) toevoegen. De waarden van x, y en z bepaal je zelf en staan, in volgorde van verschijnen, voor het begingetal van de x-as, het eindgetal van de x-as en het interval waarin deze getallen voorkomen.

Merk op dat je de twee functies ook kunt combineren:

hist(AirPassengers, breaks=c(100, seq(200,700, 150))) #Make a histogram for the AirPassengers dataset, start at 100 on the x-axis, and from values 200 to 700, make the bins 150 wide

Tip bestudeer de veranderingen in de y-as grondig als je experimenteert met de getallen die gebruikt worden in het seq argument!

Merk op dat de verschillende breedtes van de balken of bins mensen in verwarring kunnen brengen en dat de interessantste delen van uw gegevens mogelijk niet worden belicht of zelfs verborgen wanneer u deze techniek op uw oorspronkelijke histogram toepast. Experimenteer hier dus gewoon mee en kijk wat het beste bij uw doeleinden past!

Extra: Kansdichtheid

De hist() functie toont je standaard de frequentie van een bepaalde bin op de y-as. Als je echter wilt zien hoe waarschijnlijk het is dat een interval van waarden op de x-as voorkomt, heb je een waarschijnlijkheidsdichtheid nodig in plaats van een frequentie. We willen dus vragen om een histogram van verhoudingen. U kunt dit veranderen door het freq argument op false te zetten of het prob argument op true te zetten:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5, prob = TRUE)#Histogram of the AirPassengers dataset with a probability density expressed through the y-axis instead of the regular frequency.

Nadat u de hist() functie hebt aangeroepen om de bovenstaande kansdichtheidsplot te maken, kunt u vervolgens een dichtheidscurve aan uw dataset toevoegen met behulp van de lines() functie:

lines(density(AirPassengers)) #Get a density curve to go along with your AirPassengers histogram

Merk op dat deze functie vereist dat u eerst het prob argument van het histogram op true zet!

Stap Vier. Wilt u verder gaan?

Voor een uitputtende lijst van alle argumenten die u aan de hist() functie kunt toevoegen, kunt u kijken in het RDocumentatie artikel over de hist() functie.

Dit is de eerste van 3 posts over het maken van histogrammen met R. De volgende post zal gaan over het maken van histogrammen met ggplot2.

Een foutje gezien? Stuur ons een tweet

The post Hoe maak je een histogram met basis-R appeared first on The DataCamp Blog .

Geef een reactie

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