Як використовувати str_split в r (з прикладами)


Функцію str_split() пакету stringr у R можна використати, щоб розділити рядок на кілька частин. Ця функція використовує такий синтаксис:

str_split(рядок, шаблон)

золото:

  • рядок: символьний вектор
  • візерунок: візерунок, на якому потрібно розділити

Подібним чином функція str_split_fixed() із пакету stringr може бути використана для розбиття рядка на фіксовану кількість фрагментів. Ця функція використовує такий синтаксис:

str_split_fixed(рядок, шаблон, n)

золото:

  • рядок: символьний вектор
  • візерунок: візерунок, на якому потрібно розділити
  • n: кількість частин для повернення

У цьому посібнику наведено приклади використання кожної з цих функцій у наступному кадрі даних:

 #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

Приклад 1: розділити рядок за допомогою str_split()

У наступному коді показано, як розділити рядок у стовпці “team” за допомогою функції 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”

Результатом є список із трьох елементів, у яких відображаються імена окремих гравців кожної команди.

Приклад 2: розділити рядок за допомогою str_split_fixed()

Наступний код показує, як розділити рядок у стовпці “team” на дві фіксовані частини за допомогою функції 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"

Результатом є матриця з двома стовпцями та трьома рядками.

Корисним застосуванням функції str_split_fixed() є додавання результуючої матриці в кінець кадру даних. Наприклад:

 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

У стовпці з позначкою «V3» відображається ім’я гравця першої команди, а в стовпці з позначкою «V4» відображається ім’я гравця другої команди.

Додаткові ресурси

Як використовувати str_replace у R
Як виконати часткове зіставлення рядків у R
Як перетворити рядки на дати в R
Як перетворити символ на число в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *