Как заменить несколько значений во фрейме данных с помощью dplyr
Вы можете использовать следующий базовый синтаксис для замены нескольких значений во фрейме данных в R с помощью функций пакета dplyr :
library (dplyr) df %>% mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: замена нескольких значений с помощью dplyr
Предположим, у нас есть следующий кадр данных в R, содержащий информацию о различных баскетболистах:
#create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
dots=c(22, 25, 29, 13, 18))
#view data frame
df
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18
Теперь предположим, что мы хотим заменить во фрейме данных следующие значения:
- столбец ‘conf’:
- Замените «Восток» на «Е».
- Измените «Запад» на «W».
- Замените «Север» на «Н».
- Столбец «Позиция»:
- Измените «Guard» на «G».
- Измените «Вперед» на «F».
Для этого мы можем использовать функции mutate() и recode() :
library (dplyr) #replace multiple values in conf and position columns df %>% mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F ')) conf position points 1EG 22 2 EG 25 3 WG 29 4 WG 13 5 NF 18
Обратите внимание, что каждое значение в столбцах «conf» и «position» заменено конкретными значениями.
Также обратите внимание, что значения в графе «баллы» остались неизменными.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:
Как перекодировать значения с помощью dplyr
Как заменить NA на Zero в dplyr
Как фильтровать строки, содержащие определенную строку, с помощью dplyr