Comment utiliser la fonction de sous-chaîne dans R (4 exemples)
La fonction substring() dans R peut être utilisée pour extraire une sous-chaîne dans un vecteur de caractères.
Cette fonction utilise la syntaxe suivante :
substring(text, first, last)
où:
- texte : Nom du vecteur de caractères
- first : Le premier élément à extraire
- last : Le dernier élément à extraire
Notez également que la fonction substr() fait exactement la même chose, mais avec des noms d’arguments légèrement différents :
substr(text, first, last)
où:
- x : Nom du vecteur de caractères
- start : Le premier élément à extraire
- stop : Le dernier élément à extraire
Les exemples de ce didacticiel montrent comment utiliser la fonction substring() en pratique avec le bloc de données suivant dans R :
#create data frame
df <- data.frame(team=c('Mavericks', 'Hornets', 'Rockets', 'Grizzlies'))
#view data frame
df
team
1 Mavericks
2 Hornets
3 Rockets
4 Grizzlies
Exemple 1 : Extraire des caractères entre certaines positions
Le code suivant montre comment utiliser la fonction substring() pour extraire les caractères entre les positions 2 et 5 de la colonne « team » :
#create new column that contains characters between positions 2 and 5
df$between2_5 <- substring(df$team, first=2, last=5)
#view updated data frame
df
team between2_5
1 Mavericks aver
2 Hornets orne
3 Rockets ocke
4 Grizzlies rizz
Notez que la nouvelle colonne contient les caractères entre les positions 2 et 5 de la colonne « équipe ».
Exemple 2 : Extraire les N premiers caractères
Le code suivant montre comment utiliser la fonction substring() pour extraire les 3 premiers caractères de la colonne « team » :
#create new column that contains first 3 characters
df$first3 <- substring(df$team, first=1, last=3)
#view updated data frame
df
team first3
1 Mavericks Mav
2 Hornets Hor
3 Rockets Roc
4 Grizzlies Gri
Notez que la nouvelle colonne contient les trois premiers caractères de la colonne « équipe ».
Exemple 3 : Extraire les N derniers caractères
Le code suivant montre comment utiliser la fonction substring() pour extraire les 3 derniers caractères de la colonne « team » :
#create new column that contains last 3 characters
df$last3 <- substring(df$team, nchar(df$team)-3+1, nchar(df$team))
#view updated data frame
df
team last3
1 Mavericks cks
2 Hornets ets
3 Rockets ets
4 Grizzlies ies
Notez que la nouvelle colonne contient les trois derniers caractères de la colonne « équipe ».
Exemple 4 : remplacer une sous-chaîne
Le code suivant montre comment utiliser la fonction substring() pour remplacer les 3 premiers caractères des valeurs de la colonne « team » par 3 astérisques :
#replace first 3 characters with asterisks in team column
substring(df$team, first=1, last=3) <- "***"
#view updated data frame
df
team
1 ***ericks
2 ***nets
3 ***kets
4 ***zzlies
Notez que les trois premiers caractères de chaque nom d’équipe ont été remplacés par des astérisques.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes avec des chaînes dans R :
Comment utiliser str_replace dans R
Comment effectuer une correspondance de chaîne partielle dans R
Comment convertir des chaînes en dates dans R
Comment convertir un caractère en numérique dans R