Я хочу отфильтровать базу данных по значению одного столбца.
Если столбец содержит значение 123
, выделите эти строки и затем отфильтруйте C = 1
;если столбец не содержит 123
, выберите эти строки, а затем отфильтруйте D = 0
.
Вот тест df:
Book1 <- data.frame(
'A' = c(123, 5, 6, 12, 445, 123),
'B' = c(4, 56, 77, 1, 2, 3),
'C' = c(1, 1, 0, 0, 1, 0),
'D' = c(1, 0, 0, 1, 1, 0)
)
Хотя я могу сгенерировать 2 результата:
library(tidyverse)
Book1 %>%
filter(A == 123) %>%
filter(C == 1)
Book1 %>%
filter(A != 123) %>%
filter(D == 0)
Затем используйте rbind()
, чтобы получить результат:
A B C D
1 123 4 1 1
2 5 56 1 0
3 6 77 0 0
Однако кто-то может научить меня, как использовать filter
, if_else
, чтобы иметь то же самоерезультат?
Спасибо!