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
boxplot(iris$Sepal.Length ~ iris$Species)                      # Boxplot with alphabetical order

r graph figure 1 r sort boxplot manually programming language

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

r graph figure 2 r sort boxplot manually programming language

Example 2: Creating Boxplot with Reordered Boxes in ggplot2

install.packages("ggplot2")                                    # Install ggplot2 package
library("ggplot2")                                             # Load ggplot2 package
ggplot(iris_reordered,                                         # Manually sorted ggplot2 boxplot
       aes(Species,
           Sepal.Length)) +
  geom_boxplot()

r graph figure 3 r sort boxplot manually programming language

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Menu
Top