R: извлечь подстроку из конца строки


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

Метод 1: используйте базу R

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#extract 3 characters starting from end
substr_end(my_string, 3 )

Способ 2. Используйте пакет stringr.

 library (stringr)

#extract 3 characters starting from end 
str_sub(my_string, start = - 3 )

Эти два примера извлекают последние три символа из строки с именем my_string .

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

 #create data frame
df <- data. frame (team=c('Mavericks', 'Lakers', 'Hawks', 'Nets', 'Warriors'),
                 dots=c(100, 143, 129, 113, 123))

#view data frame
df

       team points
1 Mavericks 100
2 Lakers 143
3 Hawks 129
4 Nets 113
5 Warriors 123

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

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

 #define function to extract n characters starting from end
substr_end <- function (x, n){
  substr(x, nchar(x)-n+ 1 , nchar(x))
}

#create new column that extracts last 3 characters from team column
df$team_last3 <- substr_end(my_string, 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

Обратите внимание, что новый столбец с именем team_last3 содержит последние три символа каждой строки в столбце команды фрейма данных.

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

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

 library (stringr)

#create new column that extracts last 3 characters from team column
df$team_last3 <- str_sub(df$team, start = - 3 )

#view updated data frame
df

       team points team_last3
1 Mavericks 100 cks
2 Lakers 143ers
3 Hawks 129 wks
4 Nets 113 ets
5 Warriors 123 gold

Обратите внимание, что новый столбец с именем team_last3 содержит последние три символа каждой строки в столбце команды фрейма данных.

Это соответствует результатам предыдущего метода с использованием базиса R.

Связано : Введение в функцию str_sub в R.

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

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

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

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

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