Вы можете использовать следующие методы для замены строки в определенном столбце фрейма данных с помощью функций из пакета dplyr :
Способ 1: заменить одну строку новой строкой
library(dplyr)
library (stringr)
df %>%
mutate(across('column_name', str_replace, 'old_value', 'new_value'))
Способ 2: заменить несколько строк новой строкой
library(dplyr)
library (stringr)
df %>%
mutate(across('column_name', str_replace, 'old_value1|old_value2', 'new_value'))
В следующих примерах показано, как использовать каждый метод со следующим фреймом данных в R:
#create data frame
df <- data.frame(conf=c('East', 'East', 'West', 'West'),
position=c('P_Guard', 'P_Guard', 'S_Guard', 'S_Guard'),
points=c(22, 25, 29, 13))
#view data frame
df
conf position points
1 East P_Guard 22
2 East P_Guard 25
3 West S_Guard 29
4 West S_Guard 13
Пример 1: заменить одну строку новой строкой
Следующий код показывает, как заменить строку «East» в столбце conf на строку «Eastern»:
library(dplyr)
library (stringr)
#replace 'East' with 'Eastern' in conf column
df %>%
mutate(across('conf', str_replace, 'East', 'Eastern'))
conf position points
1 Eastern P_Guard 22
2 Eastern P_Guard 25
3 West S_Guard 29
4 West S_Guard 13
Обратите внимание, что каждая строка «East» была заменена на «Eastern» в столбце conf , а все остальные столбцы остались без изменений.
Пример 2. Замена нескольких строк новой строкой
В следующем коде показано, как заменить строку «P_» и «S_» в столбце conf пустой строкой:
library(dplyr)
library (stringr)
#replace 'P_' and 'S_' with empty string in position column
df %>%
mutate(across('position', str_replace, 'P_|S_', ''))
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
Обратите внимание, что каждая строка «P_» и «S_» была заменена пустой строкой в столбце position , а все остальные столбцы остались без изменений.
Обратите внимание, что мы использовали оператор «ИЛИ» ( | ), чтобы сообщить R, что мы хотели бы заменить любые строки, равные «P_» или «S_», пустой строкой.
Не стесняйтесь использовать столько операторов «ИЛИ» ( | ), сколько хотите, чтобы заменить столько значений, сколько хотите, в столбце одновременно.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:
Как перекодировать значения с помощью dplyr
Как заменить NA на ноль в dplyr
Как отфильтровать строки, содержащие определенную строку, с помощью dplyr