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

Функция substring() в R — что нужно знать


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

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

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

Подстрока: мы можем выполнять несколько действий, таких как извлечение значений, замена значений и многое другое. Для этого мы используем такие функции, как substr() и substring().

substr(x,start,stop)
substring(x,first,last=1000000L)

Где:

  • x=входные данные/файл.
  • Start/First= начальный индекс подстроки.
  • Stop/Last= конечный индекс подстроки.

Извлечение символов с помощью функции substring() в R

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

#returns the characters from 1,11
df<-("Journal_dev_private_limited")
substring(df,1,11)

Вывод=\Journal_dev

#returns the characters from 1-7
df<-("Journal_dev")
substring(df,1,7)

Выход=\Журнал

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

Заменить с помощью функции substring() в R

С помощью функции substring() вы также можете заменить значения в строке нужными значениями. Кажется, это интересно, верно? Тогда давайте посмотрим, как это работает.

#returns the string by replacing the _ by space
df<-("We are_developers")
substring(df,7,7)=" "
df

Вывод=\Мы разработчики

#string replacement 
df<-("R=is a language made for statistical analysis")
substring(df,2,2)=" "
df

Вывод=\R — это язык, созданный для статистического анализа

Отлично, ты сделал это! Таким образом, вы можете заменить значения в строке на желаемое значение.

В приведенном выше случае вы заменили «_» (подчеркивание) и \=» (знак равенства) на « « (пробел). Надеюсь, вы поняли лучше.

Замена строки с помощью функции substring()

До сих пор все хорошо! Но что, если вам нужно заменить некоторые значения, которые должны отражаться во всех присутствующих строках?

Не волнуйся! Мы можем заменить значения и заставить их отражать все присутствующие строки.

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

#replaces the 4th letter of each string by $
df<-c("Alok","Joseph","Hayato","Kelly","Paloma","Moca")
substring(df,4,4)<-c("$")
df

Вывод=\Ало$\Джос$ф\Хей$то\Кел$и\Пал$ма\Мок$

Ой, что произошло? Каждая 4-я буква в строках заменена знаком «$»!.

Ну, это substring() для вас. Он может заменить отмеченные позиции нашим заданным значением.

В приведенном выше случае каждая четвертая буква во всех входных строках была заменена знаком «$» функцией substring(). Это невероятно, верно? Я говорю да. А вы?

Использование функций substr() и str_sub() в R

Мы уже сосредоточились на строках. Теперь мы также рассмотрим извлечение символов в столбцах.

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

Мы можем создать фрейм данных с образцами данных, имеющими 2 столбца, а именно «Технологии» и «Популярность». Давайте извлечем некоторые конкретные символы из этих данных. Это будет весело.

#creates the data frame
df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
           Technologies      Popularity
1           Datascience        70%
2       machinelearning        85%
3          Deeplearning        90%
4 Artificalintelligence        95%

Да, теперь мы создали фрейм данных. Давайте извлечем текст. Для этого запустите приведенный ниже код, чтобы извлечь символы из 8-10 во всех строках в столбце «Технологии», используя функцию substr() в R.

#creates new column with extracted values
df$Extracted_Technologies=substr(df$Technologies,8,10)
df

Выход =

             Technologies       Popularity     Extracted_Technologies
1           Datascience_DS        70%                    enc
2       machinelearning_ML        85%                    lea
3          Deeplearning_DL        90%                    rni
4 Artificalintelligence_AI        95%                    ali

Теперь вы можете видеть, что мы создали новый столбец с извлеченными данными. Таким образом, вы можете извлечь данные, указав значения индекса.

Использование функции str_sub() в R

Мы видели функцию substr() в действии. Теперь, как я упоминал ранее, мы рассмотрим функцию str_sub() и способ ее извлечения.

Давайте катиться!

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

df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
           Technologies      Popularity
1           Datascience        70%
2       machinelearning        85%
3          Deeplearning        90%
4 Artificalintelligence        95%

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

#using the str_sub function
df$Extracted_Technologies=str_sub(df$Technologies,10,15)
> df

Как видите, функция str_sub() извлекает индексированные значения и возвращает результат, как показано ниже.

           Technologies   Popularity    Extracted_Technologies
1           Datascience        70%                     ce
2       machinelearning        85%                 arning
3          Deeplearning        90%                    ing
4 Artificalintelligence        95%                 intell

Подведение итогов

Да, взять или сгенерировать подстроку заданной строки — довольно простая задача. Благодаря таким функциям, как substr(), substring() и str_sub(), которые сделали подстроки интересными и захватывающими.

Это все на данный момент. Не забудьте использовать эту замечательную функцию в своих вычислениях. Удачной подстроки!!!

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