Como converter múltiplas colunas em fator usando dplyr
Você pode usar os seguintes métodos para converter várias colunas em fator usando funções no pacote dplyr :
Método 1: converter colunas específicas em fator
library (dplyr) df %>% mutate_at(c(' col1 ', ' col2 '), as. factor )
Método 2: converter todas as colunas de caracteres em fator
library (dplyr) df %>% mutate_if(is. character , as. factor )
Os exemplos a seguir mostram como usar cada método na prática.
Exemplo 1: Converter colunas específicas em fator
Suponha que temos o seguinte quadro de dados em R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
starter=c('Y', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'N'),
points=c(12, 24, 25, 35, 30, 14, 19, 11))
#view structure of data frame
str(df)
'data.frame': 8 obs. of 4 variables:
$ team: chr "A" "A" "A" "B" ...
$position: chr "G" "G" "F" "F" ...
$ starter: chr "Y" "Y" "Y" "N" ...
$ points: num 12 24 25 35 30 14 19 11
Podemos ver que as colunas equipe , posição e inicial são caracteres enquanto a coluna de pontos é numérica.
Para converter apenas as colunas equipe e posição em fatores, podemos usar a seguinte sintaxe:
library (dplyr) #convert team and position columns to factor df <- df %>% mutate_at(c(' team ', ' position '), as. factor ) #view structure of updated data frame str(df) 'data.frame': 8 obs. of 4 variables: $ team: Factor w/ 4 levels "A","B","C","D": 1 1 1 2 2 3 3 4 $ position: Factor w/ 2 levels "F","G": 2 2 1 1 2 2 1 1 $ starter: chr "Y" "Y" "Y" "N" ... $ points: num 12 24 25 35 30 14 19 11
Podemos ver que as colunas equipe e posição agora são fatores.
Exemplo 2: Converter todas as colunas de caracteres em fator
Suponha que temos o seguinte quadro de dados em R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
starter=c('Y', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'N'),
points=c(12, 24, 25, 35, 30, 14, 19, 11))
#view structure of data frame
str(df)
'data.frame': 8 obs. of 4 variables:
$ team: chr "A" "A" "A" "B" ...
$position: chr "G" "G" "F" "F" ...
$ starter: chr "Y" "Y" "Y" "N" ...
$ points: num 12 24 25 35 30 14 19 11
Podemos ver que três das colunas no quadro de dados são colunas de caracteres.
Para converter todas as colunas de caracteres em fatores, podemos usar a seguinte sintaxe:
library (dplyr) #convert all character columns to factor df <- df %>% mutate_if(is. character , as. factor ) #view structure of updated data frame str(df) 'data.frame': 8 obs. of 4 variables: $ team: Factor w/ 4 levels "A","B","C","D": 1 1 1 2 2 3 3 4 $ position: Factor w/ 2 levels "F","G": 2 2 1 1 2 2 1 1 $ starter: Factor w/ 2 levels "N","Y": 2 2 2 1 1 2 1 1 $ points: num 12 24 25 35 30 14 19 11
Podemos ver que todas as colunas de caracteres agora são fatores.
Nota : Consulte a página de documentação do dplyr para uma explicação completa das funções mutate_at e mutate_if .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em R:
Como converter múltiplas colunas em numérico usando dplyr
Como converter um fator em numérico em R
Como converter uma data em numérico em R