Как извлечь строку после определенного символа в r


Вы можете использовать следующие методы для извлечения строки после определенного символа в R:

Способ 1: извлечь строку после определенных символов, используя Base R

 sub(' .*the ', '', my_string)

Способ 2: извлечь строку после определенных символов с помощью stringr

 library (stringr)

str_replace(my_string, ' (.*?)the(.*?) ', ' \\1 ')

Оба этих примера извлекают строку после шаблона «the» в my_string .

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

 #create data frame
df <- data. frame (team=c('theMavs', 'theHeat', 'theNets', 'theRockets'),
                 dots=c(114, 135, 119, 140))

#view data frame
df

        team points
1 theMavs 114
2 theHeat 135
3 theNets 119
4 theRockets 140

Пример 1. Извлечение строки после определенных символов с использованием базы R.

Следующий код показывает, как извлечь строку после «the» для каждой строки в столбце команды фрейма данных:

 #create new column that extracts string after "the" in team column
df$team_name <- sub(' .*the ', '', df$team)

#view updated data frame
df

        team points team_name
1 theMavs 114 Mavs
2 theHeat 135 Heat
3 theNets 119 Nets
4 theRockets 140 Rockets

Обратите внимание, что новый столбец с именем Team_name содержит строку после «the» для каждой строки в столбце Team во фрейме данных.

Связано : Введение в sub() в R

Пример 2. Извлечение строки после определенных символов с помощью пакета stringr.

Следующий код показывает, как извлечь строку после «the» для каждой строки в столбце команды фрейма данных с помощью функции str_replace() из пакета stringr в R:

 library (stringr)

#create new column that extracts string after "the" in team column
df$team_name <- str_replace(df$team, ' (.*?)the(.*?)', '\\1 ')

#view updated data frame
df

           team points team_name
1 Mavs pro team 114 Mavs
2 team Heat pro 135 Heat
3 Nets pro team 119 Nets

Обратите внимание, что новый столбец с именем Team_name содержит строку после «the» для каждой строки в столбце Team во фрейме данных.

Это соответствует результатам использования функции sub() в базе R.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как выбрать столбцы, содержащие определенную строку в R
Как удалить символы из строки в R
Как найти местоположение символа в строке в R

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

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