Hoe str_split in r te gebruiken (met voorbeelden)
De functie str_split() van het stringr- pakket in R kan worden gebruikt om een string in meerdere stukken te splitsen. Deze functie gebruikt de volgende syntaxis:
str_split(tekenreeks, patroon)
Goud:
- tekenreeks: karaktervector
- patroon: patroon waarop moet worden verdeeld
Op dezelfde manier kan de functie str_split_fixed() uit het stringr-pakket worden gebruikt om een string in een vast aantal stukken te splitsen. Deze functie gebruikt de volgende syntaxis:
str_split_fixed(tekenreeks, patroon, n)
Goud:
- tekenreeks: karaktervector
- patroon: patroon waarop moet worden verdeeld
- n: Aantal te retourneren stuks
Deze zelfstudie biedt voorbeelden van het gebruik van elk van deze functies op het volgende dataframe:
#create data frame df <- data. frame (team=c('andy & bob', 'carl & doug', 'eric & frank'), dots=c(14, 17, 19)) #view data frame df team points 1 andy & bob 14 2 carl & doug 17 3 eric & frank 19
Voorbeeld 1: een tekenreeks splitsen met str_split()
De volgende code laat zien hoe u de tekenreeks in de kolom „team“ kunt splitsen met behulp van de functie str_split() :
library (stringr) #split the string in the team column on " & " str_split(df$team, " & ") [[1]] [1] “andy” “bob” [[2]] [1] “carl” “doug” [[3]] [1] “eric” “frank”
Het resultaat is een lijst met drie items die de namen van individuele spelers in elk team tonen.
Voorbeeld 2: een tekenreeks splitsen met str_split_fixed()
De volgende code laat zien hoe u de tekenreeks in de kolom „team“ in twee vaste stukken kunt splitsen met behulp van de functie str_split_fixed() :
library (stringr)
#split the string in the team column on " & "
str_split_fixed(df$team, " & ", 2)
[,1] [,2]
[1,] “andy” “bob”
[2,] "carl" "doug"
[3,] "eric" "frank"
Het resultaat is een matrix met twee kolommen en drie rijen.
Een nuttige toepassing van de functie str_split_fixed() is om de resulterende matrix aan het einde van het dataframe toe te voegen. Bijvoorbeeld:
library (stringr)
#split the string in the team column and append resulting matrix to data frame
df[, 3:4] <- str_split_fixed(df$team, " & ", 2)
#view data frame
df
team points V3 V4
1 andy & bob 14 andy bob
2 carl & doug 17 carl doug
3 eric & frank 19 eric frank
De kolom met het label “V3” toont de naam van de speler van het eerste team en de kolom met het label “V4” toont de naam van de speler van het tweede team.
Aanvullende bronnen
Hoe str_replace te gebruiken in R
Hoe gedeeltelijke stringmatching uit te voeren in R
Hoe tekenreeksen naar datums in R te converteren
Hoe teken naar numeriek te converteren in R