Как назначить категории на основе подкатегорий - PullRequest
0 голосов
/ 09 июля 2019

У меня есть набор данных со столбцом категории и другим столбцом подкатегории. Однако некоторые данные категории неверны. Я хочу исправить эти неправильные данные категории на основе подкатегорий.

Например, у нас есть две категории: A и B с подкатегориями A_sub и B_sub. Однако одна из записей для категории ошибочно вводится как «Другие», но с подкатегорией «A_sub» (см. Код ниже). Есть ли какой-нибудь элегантный способ изменить «Другие» на «А» в столбце категории?

data <- data.frame("category" = c("A", "B", "B", "A", "Others", "Others"), "subcategory" = c("A_sub", "B_sub", "A_sub", "A_sub", "A_sub", "A_sub"))

Ожидаемый результат:

ожидаемый результат

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Хорошо, если вы знаете, что подкатегория верна, почему бы просто не взять A / B из строки подкатегории и заменить категорию, например так:

data %>% mutate(category = sub("_.*", "",subcategory))
0 голосов
/ 10 июля 2019

С помощью dplyr вы можете использовать операторы ifelse внутри оператора mutate.Чтобы вы могли так что-то вроде:

data <- data %>%
dplyr::mutate(category = ifelse(category=="A" & subcategory=="Other", "A_sub", .$subcategory) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...