Cursus
De functie boxplot() laat zien hoe de verdeling van een numerieke variabele y verschilt tussen de unieke niveaus van een tweede variabele, x. Voor een effectief resultaat mag deze tweede variabele niet te veel unieke niveaus hebben (bijv. 10 of minder is goed; veel meer dan dit maakt de plot lastig te interpreteren).
De functie boxplot() heeft ook een aantal optionele parameters. In deze oefening gebruik je er drie om een informatievere plot te krijgen:
varwidthmaakt boxplots met variabele breedte mogelijk die de verschillende groottes van de datasubsets laten zien.logmaakt log-getransformeerde y-waarden mogelijk.laszorgt voor beter leesbare aslabels.
Wanneer je een boxplot gebruikt
-
Wanneer je een continue variabele hebt, opgesplitst naar een categorische variabele.
-
Wanneer je de verdelingen van de continue variabele per categorie wilt vergelijken.
Histogram vs. boxplot
- Hieronder staat de vergelijking van een histogram met een boxplot. De lijn in het midden toont de mediaan van de verdeling. Dat wil zeggen: de helft van de vorsten begon vóór deze leeftijd te regeren, en de andere helft erna.

- De doos in de boxplot loopt van het eerste kwartiel tot het derde kwartiel. Het eerste kwartiel is het punt waar een kwart van de waarden eronder ligt. Met andere woorden: een kwart van de vorsten begon vóór deze leeftijd te regeren, en driekwart erna. Het derde kwartiel is de leeftijd waar driekwart van de vorsten eronder begon te regeren. Het verschil tussen het derde en het eerste kwartiel heet het interkwartielafstand (IQR).

De horizontale lijnen, de zogenaamde "snorharen" (whiskers), hebben een wat complexere definitie. Elke lijn strekt zich uit tot anderhalf keer de interkwartielafstand, maar wordt vervolgens beperkt tot het bereiken van daadwerkelijke datapunten.
De technische definitie staat in de onderstaande afbeelding, maar in de praktijk kun je de snorharen zien als zó ver doorlopend dat alles buiten die lijnen een extreem waarde is.

Zoals eerder vermeld, is de kracht van boxplots dat je veel verdelingen tegelijk kunt vergelijken. Hier zijn de koninklijke huizen geordend van oudste bovenaan tot nieuwste onderaan.

Er is een trend zichtbaar: sinds de Plantagenets in de veertiende eeuw schuiven de dozen geleidelijk naar rechts, wat laat zien dat de leeftijden waarop nieuwe vorsten de troon bestijgen zijn toegenomen.
Godwin en Blois verschijnen als een enkele lijn omdat er slechts één koning uit elk huis was. Het huis Anjou had maar drie koningen en vormt een doos met één snorhaar in plaats van twee.
Let op dat de boxplots voor de huizen Denemarken en Windsor enkele punten tonen. Dit zijn extreme waarden, dus waarden buiten het bereik van de snorharen. Windsors meest linkse uitschieter is Elizabeth de Tweede, die op 26-jarige leeftijd de troon besteeg.
boxplot()-functie
In het volgende voorbeeld, met de formule-interface, maak je een boxplot die de verdeling van numerieke crim-waarden laat zien over de verschillende rad-waarden uit het Boston data frame. Gebruik vervolgens de parameter varwidth om boxplots met variabele breedte te krijgen, specificeer een log-getransformeerde y-as en zet de parameter las gelijk aan 1 om horizontale labels voor zowel de x- als y-as te krijgen.
Gebruik ten slotte de functie title() om de titel "Crime rate vs. radial highway index" toe te voegen.
# Create a variable-width Box Plot with log y-axis & horizontal labels
boxplot(crim ~ rad, data = Boston,
varwidth = TRUE, log = "y", las = 1)
# Add a title
title("Crime rate vs. radial highway index")
Als we de bovenstaande code uitvoeren, levert dit het volgende resultaat op:

Wil je meer leren over boxplots? Bekijk dan deze video uit onze cursus Understanding Data Visualization.
Deze content is afkomstig uit DataCamp’s cursus Understanding Data Visualization door Richie Cotton en onze cursus Data Visualization in R door Ronald Pearson.
