Een boxplot is een gestandaardiseerde manier om de verdeling van gegevens weer te geven op basis van een overzicht met vijf getallen ("minimum", eerste kwartiel (Q1), mediaan (=tweede kwartiel), derde kwartiel (Q3), en "maximum"). Het vertelt iets over outliers in de data en wat hun waarden zijn. Bovendien kan de R boxplot je ook vertellen of je data symmetrisch is, hoe dicht de data gegroepeerd is en of / hoe asymmetrisch de data is.
Heb je R, RStudio of beiden nog niet geïnstalleerd? Volg dan eerst onze handleiding om R te installeren.
Wist je dat R een steeds belangrijke rol speelt in de wereld van Data Science? De belangrijke packages van Tidyverse, zoals ggplot2 en dplyr maken R een uitstekende taal om te gebruiken voor Data Science.
Wil je meer leren over R? Lees dan deze uitgebreide blog: wat is R?
In dit blog zullen de volgende onderdelen worden besproken:
- Wat is een R boxplot?
- Data voor een R boxplot
- Standaard R boxplot
- R boxplot met ggplot2
- Wat is een R boxplot?
Wat is een R boxplot?
Voor sommige vraagstukken zul je merken dat je meer informatie nodig hebt over een verdeling, zoals de mediaan en het gemiddelde en de modus. Je kunt dan bijvoorbeeld in R een histogram creëren. Heb je hier echter nog steeds onvoldoende aan, dan kun je en R boxplot maken.
Een boxplot is een grafiek die een goede indicatie geeft van de spreiding van de waarden in een dataset. Hoewel boxplots op het eerste gezicht primitief lijken in vergelijking met een histogram of een Kernel Density Estimation (KDE) plot, hebben ze het voordeel dat ze veel minder ruimte innemen. Dit is nuttig bij het vergelijken van verdelingen tussen vele groepen of zelfs tussen datasets.
Boxplots zijn een gestandaardiseerde manier om de verdeling van data weer te geven op basis van een vijftal belangrijke getallen: een minimumgrens, het eerste kwartiel (Q1), de mediaan (of tweede kwartiel Q2), het derde kwartiel (Q3) en een maximumgrens.
Een boxplot wordt gemaakt aan de hand van de volgende gegevens uit een dataset:
- De mediaan (ook wel het tweede kwartiel Q2 of 50e percentiel) is de middelste waarde van de gegevensreeks. In het geval van een even aantal waarden is de mediaan het gemiddelde van de twee middelste waarden.
- Het eerste kwartiel (Q1/25e percentiel) is het middelste getal tussen het kleinste getal in de dataset en de mediaan
- Het derde kwartiel (Q3/75e percentiel) is de middelste waarde tussen de mediaan en de hoogste waarde van de dataset.
- De Interquartile Range (IQR) loopt vanaf de 25e tot het 75e percentiel (Q1 - Q3).
- De Minimumgrens wordt berekend met de formule: Q1 - 1,5*IQR
- De Maximumgrens wordt berekend met de formule: Q1 + 1,5*IQR
- Uitschieters zijn waarden die ofwel kleiner zijn dan de minimumgrens of groter dan de maximumgrens en worden weergegeven als cirkels.
Houd in gedachten dat dit dus ook de andere kant op werkt. Het feit dat de hiervoor genoemde belangrijke waarden worden gebruikt om een boxplot op te stellen zorgt er ook voor dat je altijd deze belangrijke waarden uit de boxplot kunt halen zonder deze zelf te hoeven berekenen. Een boxplot creëren binnen R is dus een snelle manier om een overzicht te krijgen van deze belangrijke en informatieve gegevens. Met één command berekent R de mediaan en de kwartielen rechtstreeks uit de data.
Data voor R boxplot
Natuurlijk heb je altijd data nodig om een boxplot te kunnen creëren. Het is belangrijk dat deze data numeriek is, boxplots kunnen namelijk alleen van numerieke data gemaakt worden. Voor onze voorbeelden gaan we een dataset gebruiken die standaard met R wordt meegeleverd. De data die we gaan gebruiken heet mtcars
en bevat wat gegevens over verschillende merken en types van auto’s.
data(mtcars)
head(mtcars)
mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
---|---|---|---|---|---|---|---|---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
Valiant | 18.1 | 6 | 225 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 |
Standaard R boxplot
Boxplots kunnen worden gemaakt voor individuele variabelen of voor variabelen per groep. Het commando hiervoor is boxplot(<data_voor_boxplot>, main=<Titel>, xlab=<titel x-as>, ylab=<titel y_as>)
. Als van de mpg kolom hierboven een boxplot willen maken dan kan dat als volgt:
boxplot(mtcars$mpg, main="Auto Data Boxplot",
xlab="Aantal Cylinders", ylab="Miles Per Gallon")
R boxplot met ggplot2
Data science gaat over het analyseren en overbrengen van resultaten, dus onthoud dat de vormgeving van je boxplots altijd belangrijk is. Daarom raden wij ook aan om je visualisaties binnen R zoveel mogelijk met ggplot2 te maken. Niet alleen zien deze er mooier en professioneler uit dan de standaard mogelijkheden van R, ze zijn vaak ook makkelijker om te maken. De boxplot wordt op de volgende manier met behulp van het package ggplot2 gemaakt.
ggplot(mtcars, aes(y=mpg)) +
geom_boxplot() +
theme_minimal()
Wil jij goed leren werken in R? Tijdens onze Opleiding R leer je alles wat je nodig hebt om zelfstandig analyses uit te voeren in R.
Rik is data scientist en marketeer bij Data Science Partners. Vanuit zijn achtergrond op de Technische Universiteit Eindhoven heeft hij veel affiniteit met data. Na zijn studie heeft hij als consultant altijd met data gewerkt en tevens ervaring opgedaan in het geven van trainingen.