Как использовать функцию подстроки в R (4 примера)


Функция 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