R: extraheer de subtekenreeks vanaf het einde van de tekenreeks
U kunt de volgende methoden gebruiken om een subtekenreeks in R te extraheren, beginnend vanaf het einde van de tekenreeks:
Methode 1: Gebruik 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 )
Methode 2: Gebruik het stringr-pakket
library (stringr) #extract 3 characters starting from end str_sub(my_string, start = - 3 )
Deze twee voorbeelden extraheren de laatste drie tekens uit de string genaamd my_string .
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:
#create data frame
df <- data. frame (team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
dots=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
Voorbeeld 1: Extraheer de subtekenreeks van het einde met Base R
De volgende code laat zien hoe u een aangepaste functie in basis R definieert en vervolgens de functie gebruikt om de laatste drie tekens uit elke tekenreeks in de teamkolom te extraheren:
#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 143ers 3 Hawks 129 wks 4 Nets 113 ets 5 Warriors 123 gold
Houd er rekening mee dat de nieuwe kolom met de naam team_last3 de laatste drie tekens van elke tekenreeks in de teamkolom van het dataframe bevat.
Voorbeeld 2: Extraheer een subtekenreeks van het einde met behulp van het stringr-pakket
De volgende code laat zien hoe u de functie str_sub() uit het stringr- pakket in R kunt gebruiken om de laatste drie tekens uit elke tekenreeks in de teamkolom te extraheren:
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 143ers 3 Hawks 129 wks 4 Nets 113 ets 5 Warriors 123 gold
Houd er rekening mee dat de nieuwe kolom met de naam team_last3 de laatste drie tekens van elke tekenreeks in de teamkolom van het dataframe bevat.
Dit komt overeen met de resultaten van de vorige methode met behulp van de R-basis.
Gerelateerd : een inleiding tot de str_sub-functie in R
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe u kolommen selecteert die een specifieke tekenreeks bevatten in R
Hoe tekens uit een string in R te verwijderen
Hoe de tekenlocatie in een string in R te vinden