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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert