поиск и замена по группам R - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь найти и заменить dplyr на основе группы. У меня есть это до сих пор:

dataset <- dataset %>%
  group_by(ID) %>%
  mutate(attribute = case_when(col1 == "Work" & (attribute == "B" | attribute == "C") ~ "", TRUE ~ attribute))

Что я пытаюсь сделать, это чтобы каждая группа идентификаторов посмотрела, есть ли одна строка "Работа" в столбце 1, "B" или "C" в атрибуте, затем замените на "", в противном случае оставьте то, что находится в атрибуте. Но в результате получается поиск и замена, не принимая во внимание группы.

Любая помощь приветствуется. Заранее спасибо!

1 Ответ

1 голос
/ 23 марта 2020

Это будет работать:

filteredData <- dataset %>%
  filter(col1 == "Work" & (attribute == "B" | attribute == "C"))

dataset <- dataset %>%
  mutate(attribute = ifelse(ID %in% filteredData$ID, "", attribute))
...