droplevels R Example | How to Drop Factor Levels of Vector & Data Frame


Basic R Syntax:



The droplevels R function removes unused levels of a factor. The function is typically applied to vectors or data frames. The basic code for droplevels in R is shown above.

In the following article, I’ll provide you with two examples for the application of droplevels in R. Let’s dive right in…


Example 1: Drop Levels of Factor Vector

The simplest way of using droplevels in the R programming language is the application to a factor vector. Let’s create an example vector first:

x <- factor(c(3, 4, 8, 1, 5, 4, 4, 5))        # Example factor vector
x <- x[- 1]                                   # Delete first entry, i.e. factor level 3
x                                             # Print example vector to RStudio console
# 4 8 1 5 4 4 5
# Levels: 1 3 4 5 8

Our example vector consists of five factor levels: 1, 3, 4, 5, and 8. However, the vector itself does not include the value 3. The factor level 3 might therefore be dropped. Let’s do this:

x_drop <- droplevels(x)                       # Apply droplevels in R
# 4 8 1 5 4 4 5
# Levels: 1 4 5 8

As you can see based on the RStudio console output: After applying the R droplevels command, the factor level 3 is removed.

By the way: I have also published a YouTube video, in which I’m explaining the Code of Example 1 in more detail:



I hope you know at this point how the droplevels function has to be applied to a vector. But what if we want to apply the droplevels function to a data frame? That’s what I’m going to show you next…


Example 2: Apply droplevels to data.frame in R

In R, it is possible to use the droplevels code for a whole data frame. Let’s create some example data first:

x1 <- factor(c(7, 3, 7, 7, 5))                 # First column of example data frame
x2 <- factor(c(4, 4, 4, 4, 2))                 # Second column of example data frame
x3 <- c(1, 5, 3, 2, 9)                         # Third column of example data frame
data <- data.frame(x1, x2, x3)                 # Create example data frame
data <- data[1:4, ]                            # Delete bottom row of data frame

Let’s check the structure of our example data frame by applying the str function:

str(data)                                      # Check levels of all columns


droplevels R Example

Graphic 1: Exemplifying Data Frame with Factor Columns.


As you can see, our data consists of three columns: The first column is a factor with 3 levels; the second column is a factor with 2 levels; and the third column is numeric.

Now, let’s apply the droplevels R function to this example data frame…

data_drop <- droplevels(data)                  # Drop levels of data frame

…and then let’s examine the factor level structure of the two factor columns:

str(data_drop)                                 # Check levels after applying droplevels


Example data.frame after the Application of droplevels

Graphic 2: Exemplifying Data Frame after the Usage of droplevels in R.


After using the R droplevels command, both factor columns are losing one unused factor level.

Looks good!


Using Factors in R: Video Examples

Handling factors in R can be tricky. If you need further explanations how to deal with the factor class in R, I can recommend the following video tutorial of the DataCamp YouTube channel:



Further Reading


Subscribe to the Statistics Globe Newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.

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.