How To Change Correct Incorrect To 0 1 In R

R Programming

Changing correct/incorrect values to 0/1 in R is a common task in data analysis, and it’s an important step in preparing your data for modeling. Personally, I find this process to be quite straightforward, but I understand that it can be a bit confusing for those new to R programming. In this article, I’ll guide you through the process of changing correct/incorrect values to 0/1 in R, and I’ll share some personal tips along the way.

Understanding the Data

Before we begin, let’s take a moment to understand what we’re working with. In many datasets, you might come across columns that contain values like “correct” and “incorrect.” While these labels make sense to us as humans, they might not be suitable for certain analytical techniques. In such cases, it’s beneficial to convert these labels to numeric representations, such as 0 for “incorrect” and 1 for “correct.”

Using ifelse() Function in R

One of the simplest ways to achieve this transformation is by using the ifelse() function in R. This function evaluates a condition and returns one of two specified values based on whether the condition is TRUE or FALSE.


Suppose we have a column named answers in a dataframe df, which contains “correct” and “incorrect” values. We can use the ifelse() function to convert these values to 0 and 1 as follows:

df$answers_numeric <- ifelse(df$answers == "correct", 1, 0)

Dealing with Missing Values

It’s important to consider how you want to handle missing values in the column. If there are NA or NULL values within the column, you may want to account for these to ensure the integrity of your data. This can be achieved using the ifelse() function in conjunction with


If we want to assign 0 to missing values and 1 to “correct” values, and 0 to “incorrect” values, we can utilize the following code:

df$answers_numeric <- ifelse($answers) | df$answers == "incorrect", 0, 1)

Wrapping Up

It’s worth noting that the ifelse() function is not the only approach to achieve this conversion. Depending on your specific use case, you may explore other methods such as using the dplyr package for data manipulation.


In conclusion, transforming correct/incorrect values to 0/1 in R is a fundamental step that can improve the compatibility of your data with various modeling and analytical techniques. By utilizing the ifelse() function, you can efficiently carry out this transformation while considering the treatment of missing values. Remember to adapt the approach based on your specific data and analysis requirements. Happy coding!