R : extraire la sous-chaîne à partir de la fin de la chaîne



Vous pouvez utiliser les méthodes suivantes pour extraire une sous-chaîne dans R en commençant par la fin de la chaîne :

Méthode 1 : utiliser Base R

#define function to extract n characters starting from end
substr_end <- function(x, n){
  substr(x, nchar(x)-n+1, nchar(x))
}

#extract 3 characters starting from end 
substr_end(my_string, 3)

Méthode 2 : utiliser le package stringr

library(stringr)

#extract 3 characters starting from end  
str_sub(my_string, start = -3)

Ces deux exemples extraient les trois derniers caractères de la chaîne appelée my_string .

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
                 points=c(100, 143, 129, 113, 123))

#view data frame
df

       team points
1 Mavericks    100
2    Lakers    143
3     Hawks    129
4      Nets    113
5  Warriors    123

Exemple 1 : Extraire la sous-chaîne à partir de la fin en utilisant Base R

Le code suivant montre comment définir une fonction personnalisée en base R, puis utiliser la fonction pour extraire les trois derniers caractères de chaque chaîne de la colonne d’équipe :

#define function to extract n characters starting from end
substr_end <- function(x, n){
  substr(x, nchar(x)-n+1, nchar(x))
}

#create new column that extracts last 3 characters from team column
df$team_last3 <- substr_end(my_string, 3)

#view updated data frame
df

       team points team_last3
1 Mavericks    100        cks
2    Lakers    143        ers
3     Hawks    129        wks
4      Nets    113        ets
5  Warriors    123        ors

Notez que la nouvelle colonne appelée team_last3 contient les trois derniers caractères de chaque chaîne dans la colonne team du bloc de données.

Exemple 2 : extraire la sous-chaîne à partir de la fin à l’aide du package stringr

Le code suivant montre comment utiliser la fonction str_sub() du package stringr dans R pour extraire les trois derniers caractères de chaque chaîne de la colonne team :

library(stringr)

#create new column that extracts last 3 characters from team column
df$team_last3 <- str_sub(df$team, start = -3)

#view updated data frame
df

       team points team_last3
1 Mavericks    100        cks
2    Lakers    143        ers
3     Hawks    129        wks
4      Nets    113        ets
5  Warriors    123        ors

Notez que la nouvelle colonne appelée team_last3 contient les trois derniers caractères de chaque chaîne dans la colonne team du bloc de données.

Cela correspond aux résultats de la méthode précédente utilisant la base R.

Connexe : Une introduction à la fonction str_sub dans 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

Ajouter un commentaire

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