- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to replace words in a dichotomous column for an R data frame with numbers?
A dichotomous column can be represented by words such as Yes/No, Good/Bad, Right/Wrong etc. To replace such words with number, say 1 and 0 we can use ifelse function.
For example, if we have a data frame called df that contains a column Binary with Yes and No values then we can replace Yes with 1 and No with 0 by using the below command −
df$Binary<-ifelse(df$Binary=="Yes",1,0)
Example 1
Following snippet creates a sample data frame −
x<-sample(c("Yes","No"),20,replace=TRUE) df1<-data.frame(x) df1
The following dataframe is created −
x 1 Yes 2 Yes 3 Yes 4 Yes 5 No 6 Yes 7 Yes 8 Yes 9 Yes 10 Yes 11 Yes 12 No 13 Yes 14 No 15 No 16 Yes 17 No 18 Yes 19 Yes 20 Yes
To replace words Yes with 1 and No with 0, add the following code to the above snippet −
x<-sample(c("Yes","No"),20,replace=TRUE) df1<-data.frame(x) df1$x<-ifelse(df1$x=="Yes",1,0) df1
Output
If you execute all the above given snippets as a single program, it generates the following output −
x 1 1 2 1 3 1 4 1 5 0 6 1 7 1 8 1 9 1 10 1 11 1 12 0 13 1 14 0 15 0 16 1 17 0 18 1 19 1 20 1
Example 2
Following snippet creates a sample data frame −
y<-sample(c("Good","Bad"),20,replace=TRUE) df2<-data.frame(y) df2
The following dataframe is created −
y 1 Bad 2 Bad 3 Bad 4 Good 5 Good 6 Good 7 Good 8 Bad 9 Bad 10 Bad 11 Bad 12 Bad 13 Good 14 Bad 15 Good 16 Good 17 Good 18 Bad 19 Good 20 Good
To replace words Good with 1 and Bad with 0, add the following code to the above snippet −
y<-sample(c("Good","Bad"),20,replace=TRUE) df2<-data.frame(y) df2$y<-ifelse(df2$y=="Good",1,0) df2
Output
If you execute all the above given snippets as a single program, it generates the following output −
y 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 0 9 0 10 0 11 0 12 0 13 1 14 0 15 1 16 1 17 1 18 0 19 1 20 1
- Related Articles
- How to replace numbers written in words with numbers in an R data frame column?
- How to replace space between two words with underscore in an R data frame column?
- How to replace a complete column in an R data frame?
- How to replace missing values with median in an R data frame column?
- How to replace zero with previous value in an R data frame column?
- How to randomly replace values in an R data frame column?
- How to add a column in an R data frame with consecutive numbers?
- How to convert number to words in an R data frame column?
- How to replace missing values in a column with corresponding values in other column of an R data frame?
- How to display numbers with decimal in R data frame column?
- How to associate a character to numbers in an R data frame column?
- How to replace space in a string value for some elements in a column of an R data frame?
- How to replace NA with 0 and other values to 1 in an R data frame column?
- How to replace NA values with zeros in an R data frame?
- How to find mode for an R data frame column?
