Hoe meerdere boxplots in één grafiek in r te plotten
Een boxplot (ook wel een box-and-whiskerplot genoemd) is een plot die de samenvatting van vijf cijfers van een reeks gegevens weergeeft.
De samenvatting met vijf cijfers omvat:
- De minimumwaarde
- Het eerste kwartiel
- De gemiddelde waarde
- Het derde kwartiel
- De maximale waarde
In deze tutorial wordt uitgelegd hoe u meerdere boxplots in één plot in R kunt plotten, met behulp van Base R en ggplot2.
R-gebaseerde boxplots
Om te illustreren hoe boxplots in R gemaakt kunnen worden, zullen we werken met de luchtkwaliteitsdataset die in R is ingebouwd :
#view first 6 rows of "air quality" dataset
head(airquality)
#Ozone Solar.R Wind Temp Month Day
#1 41 190 7.4 67 5 1
#2 36 118 8.0 72 5 2
#3 12 149 12.6 74 5 3
#4 18 313 11.5 62 5 4
#5 NA NA 14.3 56 5 5
#6 28 NA 14.9 66 5 6
Om één boxplot voor de variabele “Ozon” te maken, kunnen we de volgende syntaxis gebruiken:
#create boxplot for the variable “Ozone”
boxplot(airquality$Ozone)
Dit genereert de volgende boxplot:
Stel dat we in plaats daarvan voor elke maand in de dataset een boxplot willen genereren. De volgende syntaxis laat zien hoe u dit doet:
#create boxplot that displays temperature distribution for each month in the dataset
boxplot(Temp~Month,
data=airquality,
main="Temperature Distribution by Month",
xlab="Month",
ylab="Degrees (F)",
col="steelblue",
border="black"
)
Dit genereert de volgende grafiek die voor elke maand een boxplot weergeeft:
Boxplots in ggplot2
Een andere manier om boxplots in R te maken is door het ggplot2- pakket te gebruiken. Voor de volgende voorbeelden zullen we de ingebouwde luchtkwaliteitdataset opnieuw gebruiken.
Om één boxplot te maken voor de variabele “Ozon” in de luchtkwaliteitgegevensset, kunnen we de volgende syntaxis gebruiken:
#create boxplot for the variable “Ozone”
library(ggplot2)
ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()
Dit genereert de volgende boxplot:
Als we in plaats daarvan voor elke maand in de dataset een boxplot willen genereren, kunnen we daarvoor de volgende syntaxis gebruiken:
#create boxplot that displays temperature distribution for each month in the dataset
library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill="steelblue") +
labs(title="Temperature Distribution by Month", x="Month", y="Degrees (F)")
Dit genereert de volgende grafiek die voor elke maand een boxplot weergeeft:
Aanvullende bronnen
De volgende tutorials bieden aanvullende informatie over boxplots:
Wanneer moet je een boxplot gebruiken? (3 scenario’s)
Hoe asymmetrie in boxplots te identificeren
Boxplots vergelijken