# R Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated

In this article, I’ll illustrate how to deal with the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated” in the R programming language.

The tutorial consists of two examples for the dealing with the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated”. To be more precise, the table of content is structured as follows:

It’s time to dive into the examples.

## Example 1: Reproduce the Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated

This example shows how to replicate the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated”.

Suppose that we want to create a new factor variable with manually specified factor levels. Then, we might try to apply the factor function and the levels argument as shown below:

```x <- factor(letters[1:5], levels = c("a", "a", "b", "c", "d"))  # Duplicate levels
# Error in `levels＜-`(`*tmp*`, value = as.character(levels)) :
#   factor level [2] is duplicated```

Unfortunately, the previous R code returns the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated”.

The reason for this is that we have tried to assign the same factor level twice (i.e. “a”).

Let’s fix this problem!

## Example 2: Fix the Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated

This example shows how to solve the problems with the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated”.

For this, we have to specify unique factor levels when creating the factor:

```x <- factor(letters[1:5], levels = letters[1:5])                # Valid levels
x                                                               # Print factor
# [1] a b c d e
# Levels: a b c d e```

Works like a charm!

## Video, Further Resources & Summary

I have recently released a video on my YouTube channel, which demonstrates the content of this article. You can find the video below:

In addition, you could have a look at some of the other posts on this website:

This tutorial has explained how to handle the “Error in `levels＜-`(`*tmp*`, value = as.character(levels)) : factor level is duplicated” in the R programming language. If you have further questions, please let me know in the comments section.

Subscribe to the Statistics Globe Newsletter