Как заменить строку в столбце с помощью dplyr
Вы можете использовать следующие методы для замены строки в определенном столбце фрейма данных с помощью функций пакета 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'),
dots=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. Замена строки новой строкой
Следующий код показывает, как заменить строку «Восток» в столбце conf на строку «Восточный»:
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
Обратите внимание, что каждая строка «Восток» была заменена на «Восточный» в столбце 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_» была заменена пустой строкой в столбце позиции , а все остальные столбцы остались неизменными.
Обратите внимание, что мы использовали оператор «ИЛИ» ( | ), чтобы сообщить R, что мы хотим заменить все строки, равные «P_» или «S_», пустой строкой.
Не стесняйтесь использовать столько операторов «ИЛИ» ( | ), сколько хотите, заменяя столько значений, сколько хотите в столбце одновременно.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:
Как перекодировать значения с помощью dplyr
Как заменить NA на Zero в dplyr
Как фильтровать строки, содержащие определенную строку, с помощью dplyr