filter
はデータフレームの行選択、keep
/discard
はベクトルの要素選択です。
require(dplyr) require(purrr) 1:5 %>% keep(~. %% 2 == 0) # [2, 4] 1:5 %>% discard(~. %% 2 == 0) # [1, 3, 5] tibble(A=1:5, B=11:15) %>% filter(A %% 2 == 0) ## A tibble: 2 x 2 # A B # <int> <int> #1 2 12 #2 4 14 tibble(A=1:5, B=11:15) %>% filter(A %% 2 != 0) ## A tibble: 3 x 2 # A B # <int> <int> #1 1 11 #2 3 13