

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- 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 convert the data type of all columns from integer to factor in R?
To convert the data type of all columns from integer to factor, we can use lapply function with factor function.
For example, if we have a data frame called df which has all integer columns then we can use the below given command to convert all columns data type to factor −
df<-data.frame(lapply(df,factor))
Example 1
Following snippet creates a sample data frame −
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) df1
The following dataframe is created −
x1 x2 1 1 4 2 3 0 3 0 1 4 1 1 5 1 2 6 1 1 7 1 2 8 3 2 9 2 3 10 3 5 11 1 4 12 0 1 13 2 0 14 2 2 15 0 1 16 3 0 17 0 2 18 0 3 19 1 1 20 0 3
To convert the data type of all columns from integer to factor, add the following code to the above snippet −
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) str(df1)
Output
If you execute all the above given snippets as a single program, it generates the following output −
'data.frame': 20 obs. of 2 variables: $ x1: int 1 3 0 1 1 1 1 3 2 3 ... $ x2: int 4 0 1 1 2 1 2 2 3 5 ...
To convert data type of columns in df1 to factor, add the following code to the above snippet −
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) df1<-data.frame(lapply(df1,factor)) str(df1)
Outpu
If you execute all the above given snippets as a single program, it generates the following output −
'data.frame': 20 obs. of 2 variables: $ x1: Factor w/ 4 levels "0","1","2","3": 2 4 1 2 2 2 2 4 3 4 ... $ x2: Factor w/ 6 levels "0","1","2","3",..: 5 1 2 2 3 2 3 3 4 6 ...
Example 2
Following snippet creates a sample data frame −
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) df2
The following dataframe is created −
y1 y2 1 0 2 2 1 3 3 0 2 4 0 2 5 1 3 6 0 3 7 0 2 8 1 3 9 0 4 10 0 1 11 0 4 12 0 4 13 0 1 14 1 2 15 0 1 16 0 1 17 1 4 18 1 2 19 1 3 20 1 2
To convert the data type of all columns from integer to factor, add the following code to the above snippet −
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) str(df2)
Output
If you execute all the above given snippets as a single program, it generates the following output −
'data.frame': 20 obs. of 2 variables: $ y1: int 0 1 0 0 1 0 0 1 0 0 ... $ y2: int 2 3 2 2 3 3 2 3 4 1 ...
To convert data type of columns in df2 to factor, add the following code to the above snippet −
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) df2<-data.frame(lapply(df2,factor)) str(df2)
Output
If you execute all the above given snippets as a single program, it generates the following output −
'data.frame': 20 obs. of 2 variables: $ y1: Factor w/ 2 levels "0","1": 1 2 1 1 2 1 1 2 1 1 ... $ y2: Factor w/ 4 levels "1","2","3","4": 2 3 2 2 3 3 2 3 4 1 ...
- Related Questions & Answers
- How to extract only factor columns name from an R data frame?
- How to subset factor columns in an R data frame?
- How to convert numeric columns to factor using dplyr package in R?
- How to extract the factor levels from factor column in an R data frame?
- How to create table of two factor columns in an R data frame?
- How to find the frequency table for factor columns in an R data frame?
- How to find the median of all columns in an R data frame?
- How to convert columns of an R data frame into rows?
- How to get list of all columns except one or more columns from an R data frame?
- How to convert numeric levels of a factor into string in R data frame?
- How to convert a data frame into table for two factor columns and one numeric column in R?
- How to find the sum by two factor columns in R?
- How to create histogram of all columns in an R data frame?
- How to convert from string to date data type in MongoDB?
- How to find the cumulative sums by using two factor columns in an R data frame?