Функцию 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