R: витягти підрядок з кінця рядка
Ви можете використовувати такі методи, щоб витягти підрядок у R, починаючи з кінця рядка:
Спосіб 1: Використовуйте Base 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: вилучення підрядка з кінця за допомогою Base 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 містить останні три символи кожного рядка в стовпці team кадру даних.
Приклад 2: видобуток підрядка з кінця за допомогою пакета stringr
Наступний код показує, як використовувати функцію str_sub() із пакету stringr у R, щоб витягти останні три символи з кожного рядка в стовпці team :
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 містить останні три символи кожного рядка в стовпці team кадру даних.
Це відповідає результатам попереднього методу з використанням базису R.
Пов’язане : Вступ до функції str_sub у R
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як вибрати стовпці, що містять певний рядок у R
Як видалити символи з рядка в R
Як знайти розташування символу в рядку в R