Comment convertir un caractère en facteur dans R (avec exemples)
Nous pouvons utiliser la syntaxe suivante pour convertir un vecteur de caractères en vecteur de facteurs dans R :
factor_vector <- as.factor(character_vector)
Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : Convertir un vecteur de caractère en facteur
Le code suivant montre comment convertir un vecteur de caractères en vecteur de facteurs :
#create character vector
character_vector <- c('First', 'Second', 'Third')
#convert character vector to factor vector
factor_vector <- as.factor(character_vector)
#view factor vector
factor_vector
[1] First Second Third
Levels: First Second Third
#confirm class of factor vector
class(factor_vector)
[1] "factor"
Exemple 2 : Convertir une colonne de caractère en facteur
Le code suivant montre comment convertir une colonne spécifique dans un bloc de données de caractère en facteur :
#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
b = c(28, 34, 35, 36, 40))
#convert column 'a' from character to factor
df$a <- as.factor(df$a)
#view new data frame
df
a b
1 First 28
2 Second 34
3 Third 40
#confirm class of factor vector
class(df$a)
[1] "factor"
Exemple 3 : Convertir plusieurs colonnes de caractère en facteur
Le code suivant montre comment convertir toutes les colonnes de caractères d’un bloc de données de caractère en facteur :
#create data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
b = c('28', '34', '35', '36', '40'),
c = as.factor(c(1, 2, 3, 4, 5)),
d = c(45, 56, 54, 57, 59))
#display classes of each column
sapply(df, class)
a b c d
"character" "character" "factor" "numeric"
#convert all character columns to factor
df <- as.data.frame(unclass(df), stringsAsFactors = TRUE)
#display classes of each column
sapply(df, class)
a b c d
"factor" "factor" "factor" "numeric"
Ce code a apporté les modifications suivantes aux colonnes du bloc de données :
- Colonne a : Du personnage au facteur
- Colonne b : Du caractère au facteur
- Colonne c : Inchangé (puisque c’était déjà un facteur)
- Colonne d : Inchangée (puisqu’elle était numérique)
En utilisant les fonctions apply() et sapply() , nous avons pu convertir uniquement les colonnes de caractères en colonnes de facteurs et laisser toutes les autres colonnes inchangées.
Ressources additionnelles
Comment convertir un facteur en caractère dans R
Comment convertir un caractère en numérique dans R
Comment convertir des chaînes en dates dans R