Поиск по сайту:

Как использовать функцию strsplit() в R?


Как программист, вам, возможно, придется работать с множеством строк. Вы будете выполнять конкатенацию и разбиение их очень часто. В R появилась функция strsplit(). В предыдущей статье мы обсуждали строковый вектор с помощью функции strsplit().

strsplit() — исключительная функция R, которая разбивает вектор входной строки на подстроки. Давайте посмотрим, как работает эта функция и какие есть способы выполнить разбиение строк в R с помощью функции strsplit().

Синтаксис функции Strsplit()

Strsplit(): функция языка R, которая используется для разделения строк на подстроки с разделенными аргументами.

strsplit(x,split,fixed=T)

Где:

  • X = файл входных данных, вектор или набор строк.
  • Разделить=разбивает строки на требуемые форматы.
  • Фиксированный=соответствует разбиению или использует регулярное выражение.

Используйте функцию strsplit() в R — Реализация

В этом разделе давайте рассмотрим простой пример, демонстрирующий вариант использования функции strsplit(). В этом случае функция strsplit() разделит данный ввод на список строк или значений.

Посмотрим, как это работает.

df<-("R is the statistical analysis language")
strsplit(df, split = " ")

Выход =

"R" "is" "the" "statistical" "analysis" "language"

Мы сделали это! Таким образом, мы можем легко разделить строки, присутствующие в данных. Одним из лучших вариантов использования функции strsplit() является построение облаков слов. При этом нам нужно множество строк слов, чтобы построить наиболее популярное или повторяющееся слово. Итак, чтобы получить строки из данных, мы используем эту функцию, которая возвращает список строк.

1. Использование функции strsplit() с разделителем

Разделитель — это простой символ, символ или значение, разделяющее слова или текст в данных. В этом разделе мы рассмотрим использование различных символов в качестве разделителей.

df<-"get%better%every%day"
strsplit(df,split = '%')

Выход =

"get" "better" "every"  "day"   

В этом случае входной текст имеет % в качестве разделителя. Теперь наша задача — удалить разделитель и получить текст в виде списка строк. Здесь то же самое сделала функция strsplit(). Он удалил разделитель и вернул строки в виде списка.

2. Функция strsplit() с разделителем регулярных выражений

В этом разделе мы рассмотрим разбиение текста с помощью регулярных выражений. Звучит интересно? Давай сделаем это.

df<-"all16i5need6is4a9long8vacation"
strsplit(df,split = "[0-9]+")

Выход =

"all" "i" "need" "is" "a" "long" "vacation"

В этом примере наши входные данные содержат числа от 0 до 9. поэтому мы использовали регулярное выражение как [0-9]+, чтобы разделить данные, удалив числа. Функция strsplit() вернет список строк в качестве вывода, как показано выше.

3. Разделить каждый символ во входной строке

До сих пор мы сталкивались с различными типами разбиения данной строки. А что, если мы хотим разделить каждый символ строки? Что ж, мы используем функцию strsplit() с другим аргументом разделения для извлечения каждого символа.

Посмотрим, как это работает.

df<-"You can type q() in Rstudio to quit R"
strsplit(df,split="")

Выход =

"Y" "o" "u" " " "c" "a" "n" " " "t" "y" "p" "e" " " "q" "(" ")" " " "i"
"n" " " "R" "s" "t" "u" "d" "i" "o" " " "t" "o" " " "q" "u" "i" "t" " "
"R"

4. Разделение дат с помощью функции strsplit() в R

Еще одним лучшим применением функции strsplit() является разделение дат. Этот вариант использования такой классный и стоит того, чтобы его сделать. В этом разделе давайте посмотрим, как это работает.

test_dates<-c("24-07-2020","25-07-2020","26-07-2020","27-07-2020","28-07-2020")
test_mat<-strsplit(test_dates,split = "-")
test_mat

Выход =

 "24"   "07"   "2020"

"25"   "07"   "2020"

"26"   "07"   "2020"

"27"   "07"   "2020"

"28"   "07"   "2020"

Вы видите хорошо выглядящий результат, верно? Используя эту функцию, мы также можем создавать многочисленные разбиения из входных строк или данных. Вы также можете преобразовать даты в матричный формат.

matrix(unlist(test_mat),ncol=3,byrow=T)

Выход =

     [,1]  [,2]  [,3]  
[1,] "24" "07" "2020"
[2,] "25" "07" "2020"
[3,] "26" "07" "2020"
[4,] "27" "07" "2020"
[5,] "28" "07" "2020"

Вы можете видеть приведенные выше результаты, где мы создали матрицу из разделенных данных. Потому что организация данных очень важна для дальнейшего процесса. Простое разбиение текста не имеет смысла, если он не преобразован или не организован в надежную форму, как в приведенном выше примере.

Заключение

Что ж, мы подошли к концу статьи, и я надеюсь, что теперь вы лучше понимаете работу и варианты использования функции strsplit() в R. Эта функция широко используется и наиболее популярна с точки зрения разделения строк. Это все на данный момент. Вернусь с другой функцией в другой день.

Дополнительное исследование: документация R