Как использовать str_split в R (с примерами)


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

str_split(строка, шаблон)

куда:

  • строка: вектор символов
  • Pattern : Шаблон для разделения

Точно так же функцию str_split_fixed() из пакета stringr можно использовать для разделения строки на фиксированное количество частей. Эта функция использует следующий синтаксис:

str_split_fixed (строка, шаблон, число)

куда:

  • строка: вектор символов
  • Pattern : Шаблон для разделения
  • n: количество штук для возврата

В этом руководстве представлены примеры использования каждой из этих функций в следующем фрейме данных:

#create data frame
df <- data.frame(team=c('andy & bob', 'carl & doug', 'eric & frank'),
 points=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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.