Comment convertir un caractère en numérique dans R (avec exemples)



Nous pouvons utiliser la syntaxe suivante pour convertir un vecteur de caractères en vecteur numérique dans R :

numeric_vector <- as.numeric(character_vector)

Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction.

Exemple 1 : Convertir un vecteur de caractère en numérique

Le code suivant montre comment convertir un vecteur de caractères en vecteur numérique :

#create character vector
chars <- c('12', '14', '19', '22', '26')

#convert character vector to numeric vector
numbers <- as.numeric(chars)

#view numeric vector
numbers

[1] 12 14 19 22 26

#confirm class of numeric vector
class(numbers)

[1] "numeric"

Exemple 2 : convertir une colonne de caractères en numérique

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

#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 numeric
df$a <- as.numeric(df$a)

#view new data frame
df

   a  b
1 12 28
2 14 34
3 19 35
4 22 36
5 26 40

#confirm class of numeric vector
class(df$a)

[1] "numeric"

Exemple 3 : Convertir plusieurs colonnes de caractères en numériques

Le code suivant montre comment convertir toutes les colonnes de caractères d’un bloc de données de caractères en numériques :

#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" 

#identify all character columns
chars <- sapply(df, is.character)

#convert all character columns to numeric
df[ , chars] <- as.data.frame(apply(df[ , chars], 2, as.numeric))

#display classes of each column
sapply(df, class)

        a         b         c         d 
"numeric" "numeric"  "factor" "numeric" 

Ce code a apporté les modifications suivantes aux colonnes du bloc de données :

  • Colonne a : Du caractère au numérique
  • Colonne b : Du caractère au numérique
  • Colonne c : Inchangé (puisqu’il s’agissait d’un facteur)
  • Colonne d : Inchangée (puisqu’elle était déjà numérique)

En utilisant les fonctions apply() et sapply() , nous avons pu convertir uniquement les colonnes de caractères en colonnes numériques et laisser toutes les autres colonnes inchangées.

Ressources additionnelles

Comment convertir un numérique en caractère dans R
Comment convertir un caractère en facteur dans R
Comment convertir un facteur en caractère dans R
Comment convertir un caractère en horodatage dans R

Ajouter un commentaire

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