Я не могу понять, почему эти двое не ведут себя одинаково. case_when
один работает так, как я ожидаю, а if_else
один выдает ошибку:
Error: `true` must be length 1 (length of `condition`), not 2
Run `rlang::last_error()` to see where the error occurred.
Пример кода:
tb <-
tibble(DC = c(1, 1, 2), ID = c(1, 1, 2), V = c(100, 200, 400)) %>%
group_by(DC, ID)
tb %>%
mutate(V = if_else(sum(V) == 300, V / n(), 1))
tb %>%
mutate(V = case_when(sum(V) == 300 ~ V / n(), TRUE ~ 1))
Заранее спасибо.