Skip to content

Instantly share code, notes, and snippets.

@davan690
Forked from ramhiser/character2factor.r
Created August 21, 2019 07:11
Show Gist options
  • Save davan690/5c3b63e0427afcd810905c3fdb2664a8 to your computer and use it in GitHub Desktop.
Save davan690/5c3b63e0427afcd810905c3fdb2664a8 to your computer and use it in GitHub Desktop.
Convert all character columns to factors using dplyr in R
library(dplyr)
iris_char <- iris %>%
mutate(Species=as.character(Species),
char_column=sample(letters[1:5], nrow(iris), replace=TRUE))
sum(sapply(iris_char, is.character)) # 2
iris_factor <- iris_char %>%
mutate_if(sapply(iris_char, is.character), as.factor)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species char_column
# "numeric" "numeric" "numeric" "numeric" "character" "character"
sapply(iris_factor, class)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species char_column
# "numeric" "numeric" "numeric" "numeric" "factor" "factor"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment