Jak używać str_split w r (z przykładami)


Funkcja str_split() pakietu stringr w R może zostać użyta do podzielenia łańcucha na wiele części. Ta funkcja wykorzystuje następującą składnię:

str_split(string, wzór)

Złoto:

  • ciąg znaków: wektor znakowy
  • wzór: wzór, według którego należy podzielić

Podobnie funkcja str_split_fixed() z pakietu stringr może zostać użyta do podzielenia łańcucha na ustaloną liczbę fragmentów. Ta funkcja wykorzystuje następującą składnię:

str_split_fixed(string, wzór, n)

Złoto:

  • ciąg znaków: wektor znakowy
  • wzór: wzór, według którego należy podzielić
  • n: Liczba sztuk do zwrotu

W tym samouczku przedstawiono przykłady użycia każdej z tych funkcji w następującej ramce danych:

 #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

Przykład 1: Podziel ciąg za pomocą str_split()

Poniższy kod pokazuje, jak podzielić ciąg znaków w kolumnie „zespół” za pomocą funkcji 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”

Rezultatem jest lista trzech elementów przedstawiających nazwiska poszczególnych graczy w każdej drużynie.

Przykład 2: Podziel ciąg za pomocą str_split_fixed()

Poniższy kod pokazuje, jak podzielić ciąg znaków w kolumnie „zespół” na dwie stałe części za pomocą funkcji 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"

Rezultatem jest macierz z dwiema kolumnami i trzema wierszami.

Przydatnym zastosowaniem funkcji str_split_fixed() jest dołączenie wynikowej macierzy na końcu ramki danych. Na przykład:

 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

Kolumna oznaczona „V3” wyświetla nazwę gracza pierwszego zespołu, a kolumna oznaczona „V4” wyświetla nazwę gracza drugiego zespołu.

Dodatkowe zasoby

Jak używać str_replace w R
Jak wykonać częściowe dopasowanie ciągów w R
Jak przekonwertować ciągi znaków na daty w R
Jak przekonwertować znak na numeryczny w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *