Функцию str_replace() из пакета stringr в R можно использовать для замены совпадающих шаблонов в строке. Эта функция использует следующий синтаксис:
str_replace(строка, шаблон, замена)
куда:
- строка: вектор символов
- шаблон: шаблон для поиска
- замена: вектор символов замен
В этом руководстве представлено несколько примеров практического использования этой функции для следующего фрейма данных:
#create data frame
df <- data.frame(team=c('team_A', 'team_B', 'team_C', 'team_D'),
conference=c('West', 'West', 'East', 'East'),
points=c(88, 97, 94, 104))
#view data frame
df
team conference points
1 team_A West 88
2 team_B West 97
3 team_C East 94
4 team_D East 104
Пример 1: заменить строку шаблоном
В следующем коде показано, как заменить строку «Запад» на «Запад» в столбце конференции:
library (stringr)
#replace "West" with "Western" in the conference column
df$conference <- str_replace(df$conference, " West", " Western ")
#view data frame
df
team conference points
1 team_A Western 88
2 team_B Western 97
3 team_C East 94
4 team_D East 104
Пример 2: заменить строку ничем
Следующий код показывает, как заменить строку «team_» ничем в столбце team:
#replace "team_" with nothing in the team column
df$team<- str_replace(df$team, " team_", "")
#view data frame
df
team conference points
1 A West 88
2 B West 97
3 C East 94
4 D East 104
Пример 3: заменить несколько строк
В следующем коде показано, как заменить несколько строк в одном столбце. Конкретно:
- Замените «Запад» на «W».
- Замените «Восток» на «Е».
Поскольку мы заменяем несколько строк, мы используем функцию str_replace_all() :
#replace multiple words in the conference column
df$conference <- str_replace_all(df$conference, c(" West " = " W", " East " = " E "))
#view data frame
df
team conference points
1 team_A W 88
2 team_B W 97
3 team_C E 94
4 team_D E 104
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как выполнить частичное сопоставление строк в R
Как преобразовать строки в даты в R
Как преобразовать символ в число в R