R How to Sort a Boxplot Manually (2 Examples)
In this article, I’ll illustrate how to specify the ordering of a boxplot manually in the R programming language.
Setting up the Examples
data(iris) # Loading iris data set head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa |
data(iris) # Loading iris data set head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa
boxplot(iris$Sepal.Length ~ iris$Species) # Boxplot with alphabetical order |
boxplot(iris$Sepal.Length ~ iris$Species) # Boxplot with alphabetical order
iris_reordered <- iris # Replicating iris data iris_reordered$Species <- factor(iris_reordered$Species, # Reordering factor levels c("versicolor", "virginica", "setosa")) |
iris_reordered <- iris # Replicating iris data iris_reordered$Species <- factor(iris_reordered$Species, # Reordering factor levels c("versicolor", "virginica", "setosa"))
Example 1: Creating Boxplot with Reordered Boxes in Base R
boxplot(iris_reordered$Sepal.Length ~ iris_reordered$Species) # Manually sorted Base R boxplot |
boxplot(iris_reordered$Sepal.Length ~ iris_reordered$Species) # Manually sorted Base R boxplot
Example 2: Creating Boxplot with Reordered Boxes in ggplot2
install.packages("ggplot2") # Install ggplot2 package library("ggplot2") # Load ggplot2 package |
install.packages("ggplot2") # Install ggplot2 package library("ggplot2") # Load ggplot2 package
ggplot(iris_reordered, # Manually sorted ggplot2 boxplot aes(Species, Sepal.Length)) + geom_boxplot() |
ggplot(iris_reordered, # Manually sorted ggplot2 boxplot aes(Species, Sepal.Length)) + geom_boxplot()