Comment convertir un facteur en caractère dans R (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour convertir un facteur en caractère dans R :

x <- as.character(x)

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Convertir le facteur vectoriel en caractère

Le code suivant montre comment convertir un vecteur de facteurs en vecteur de caractères :

#create factor vector
x <- factor(c('A', 'B', 'C', 'D'))

#view class
class(x)

[1] "factor"

#convert factor vector to character
x <- as.character(x)

#view class
class(x)

[1] "character"

Exemple 2 : Convertir la colonne du bloc de données en caractère

Le code suivant montre comment convertir une colonne de facteur en caractère dans un bloc de données :

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
                 status=factor(c('Y', 'Y', 'N', 'N')),
                 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

     name    status    income 
 "factor"  "factor" "numeric" 

#convert name column to character
df$name <- as.character(df$name)

#view class of each column
sapply(df, class) 

       name      status      income 
"character"    "factor"   "numeric" 

Exemple 3 : Convertir toutes les colonnes de facteurs en caractères

Le code suivant montre comment convertir toutes les colonnes de facteurs en caractères dans un bloc de données :

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
                 status=factor(c('Y', 'Y', 'N', 'N')),
                 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

     name    status    income 
 "factor"  "factor" "numeric" 

#convert name column to character
x <- sapply(df, is.factor)
df[x] <- lapply(df[x], as.character)

#view class of each column
sapply(df, class) 

       name       status      income 
"character"  "character"   "numeric" 

Exemple 4 : Convertir toutes les colonnes du bloc de données en caractères

Le code suivant montre comment convertir chaque colonne en caractère dans un bloc de données :

#create data frame
df <- data.frame(name=factor(c('A', 'B', 'C', 'D')),
                 status=factor(c('Y', 'Y', 'N', 'N')),
                 income=c(45, 89, 93, 96))

#view class of each column
sapply(df, class)

     name    status    income 
 "factor"  "factor" "numeric" 

#convert all columns to character
df <- lapply(df, as.character)

#view class of each column
sapply(df, class) 

       name       status      income 
"character"  "character"  "characer" 

Ressources additionnelles

Comment convertir un caractère en numérique dans R
Comment convertir une liste en bloc de données dans R
Comment convertir des chaînes en dates dans R
Comment convertir des nombres en dates dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *