Reorder Levels of Factor without Changing Order of Values in R (Example)


In this article you’ll learn how to reorder factor levels in the R programming language.

The tutorial looks as follows:

If you want to learn more about these topics, keep reading:


Introduction of Example Data

As a first step, we need to create a factor vector in R as basement for the following example:

x <- factor(c("a", "BBB", "A", "CC"))           # Create example factor
x                                               # Print factor values and levels
# [1] a   BBB A   CC 
# Levels: a A BBB CC

Our example factor consists of four values and four factor levels. The factor levels are sorted alphabetically, i.e. a A BBB CC.

Now, let’s change the order of these factor levels…


Example: Reorder Factor Levels without Losing the Order of Values

If we want to modify the ordering of the factor levels of our example vector, then we can use the following R syntax:

x_mod <- factor(x, c("BBB", "CC", "a", "A"))    # Modify factor levels
x_mod                                           # Print modified values and levels
# [1] a   BBB A   CC 
# Levels: BBB CC a A

As you can see, we specified the order of the levels manually within the factor function. The factor levels of the updated factor vector are BBB CC a A. However, the order of the values of our vector were preserved.


Video & Further Resources

Would you like to learn more about factor vectors in R? Then you may watch the following video instruction of my YouTube channel. I show the R codes of this tutorial in the video:


Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube Content Consent Button Thumbnail

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.


In addition, you may read some of the other articles on this website. You can find some interesting posts here:


Summary: This article illustrated how to reorder factor levels, but preserve the order of values in R programming. Don’t hesitate to let me know in the comments section, in case you have further questions.


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.