Comment extraire des nombres de chaînes dans R (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour extraire des nombres à partir de chaînes dans R :
Méthode 1 : extraire le numéro de la chaîne à l’aide de la base R
as.numeric(gsub("\\D", "", df$my_column))
Méthode 2 : extraire le numéro de la chaîne à l’aide du package readr
library(readr)
parse_number(df$my_column)
Ce tutoriel explique comment utiliser chaque méthode en pratique avec le bloc de données suivant :
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B'),
position=c('Guard23', 'Guard14', '2Forward',
'Guard25', '6Forward', 'Center99'))
#view data frame
df
team position
1 A Guard23
2 A Guard14
3 A 2Forward
4 B Guard25
5 B 6Forward
6 B Center99
Exemple 1 : extraire le numéro d’une chaîne à l’aide de la base R
Le code suivant montre comment extraire les nombres de chaque chaîne dans la colonne de position du bloc de données :
#extract number from each string in 'position' column as.numeric(gsub("\\D", "", df$position)) [1] 23 14 2 25 6 99
Notez que les valeurs numériques ont été extraites de chaque chaîne de la colonne de position .
Remarque : La fonction gsub() remplace simplement tous les non-nombres ( \\D ) dans une chaîne par un espace vide. Cela a pour effet d’extraire uniquement les nombres de la chaîne.
Si vous le souhaitez, vous pouvez également stocker ces valeurs numériques dans une nouvelle colonne du bloc de données :
#create new column that contains numbers from each string in 'position' column df$num <- as.numeric(gsub("\\D", "", df$position)) #view updated data frame df team position num 1 A Guard23 23 2 A Guard14 14 3 A 2Forward 2 4 B Guard25 25 5 B 6Forward 6 6 B Center99 99
Exemple 2 : Extraire le numéro d’une chaîne à l’aide du package Reader
Le code suivant montre comment extraire les nombres de chaque chaîne dans la colonne de position du bloc de données à l’aide de la fonction parse_number() du package readr :
library(readr) #extract number from each string in 'position' column parse_number(df$position) [1] 23 14 2 25 6 99
Notez que les valeurs numériques ont été extraites de chaque chaîne de la colonne de position .
Cela correspond aux résultats de l’utilisation de la fonction gsub() en base R.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment sélectionner des colonnes contenant une chaîne spécifique dans R
Comment supprimer des caractères d’une chaîne dans R
Comment trouver l’emplacement du caractère dans une chaîne dans R