Как использовать 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()

Следующий код показывает, как разделить строку в столбце «команда» с помощью функции 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()

Следующий код показывает, как разделить строку в столбце «команда» на две фиксированные части с помощью функции 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *