Функция substring() в R может использоваться для извлечения подстроки в векторе символов.
Эта функция использует следующий синтаксис:
substring(text, first, last)
куда:
- текст: Имя вектора символов
- first: первый извлекаемый элемент
- last: последний извлекаемый элемент
Также обратите внимание, что функция substr() делает то же самое, но с немного другими именами аргументов:
substr(text, first, last)
куда:
- x: Имя вектора символов
- start: первый извлекаемый элемент
- stop: последний извлекаемый элемент
Примеры в этом руководстве показывают, как использовать функцию substring() на практике со следующим фреймом данных в R:
#create data frame
df <- data.frame(team=c('Mavericks', 'Hornets', 'Rockets', 'Grizzlies'))
#view data frame
df
team
1 Mavericks
2 Hornets
3 Rockets
4 Grizzlies
Пример 1. Извлечение символов между определенными позициями
В следующем коде показано, как использовать функцию substring() для извлечения символов между позициями 2 и 5 столбца «команда»:
#create new column that contains characters between positions 2 and 5
df$between2_5 <- substring(df$team, first= 2 , last= 5 )
#view updated data frame
df
team between2_5
1 Mavericks aver
2 Hornets orne
3 Rockets ocke
4 Grizzlies rizz
Обратите внимание, что новый столбец содержит символы между позициями 2 и 5 столбца «команда».
Пример 2. Извлечение первых N символов
В следующем коде показано, как использовать функцию substring() для извлечения первых 3 символов столбца «команда»:
#create new column that contains first 3 characters
df$first3 <- substring(df$team, first= 1 , last= 3 )
#view updated data frame
df
team first3
1 Mavericks Mav
2 Hornets Hor
3 Rockets Roc
4 Grizzlies Gri
Обратите внимание, что новый столбец содержит первые три символа столбца «команда».
Пример 3. Извлечение последних N символов
В следующем коде показано, как использовать функцию substring() для извлечения последних 3 символов столбца «команда»:
#create new column that contains last 3 characters
df$last3 <- substring(df$team, nchar (df$team)- 3 +1, nchar (df$team))
#view updated data frame
df
team last3
1 Mavericks cks
2 Hornets ets
3 Rockets ets
4 Grizzlies ies
Обратите внимание, что новый столбец содержит последние три символа столбца «команда».
Пример 4: замена подстроки
В следующем коде показано, как использовать функцию substring() для замены первых 3 символов значений в столбце «команда» на 3 звездочки:
#replace first 3 characters with asterisks in team column
substring(df$team, first= 1 , last= 3 ) <- " \*\*\* "
#view updated data frame
df
team
1 \*\*\*ericks
2 \*\*\*nets
3 \*\*\*kets
4 \*\*\*zzlies
Обратите внимание, что первые три символа названия каждой команды были заменены звездочками.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции со строками в R:
Как использовать str_replace в R
Как выполнить частичное сопоставление строк в R
Как преобразовать строки в даты в R
Как преобразовать символ в число в R