table(mtcars$cyl)
4 6 8
11 7 14
假设我想过滤低频项,在这种情况下小于10.是否有优雅的dplyr esque方法来做到这一点?
mtcars %>% group_by(cyl) %>% filter([???])
结果将是仅具有4和8 cyl的数据框,因为它们都出现10次或更多次。
答案 0 :(得分:1)
按cyl
分组,计算行数,过滤,可选择删除freq
列:
library(dplyr)
mtcars %>%
group_by(cyl) %>%
mutate(freq = n()) %>%
ungroup() %>%
filter(freq > 9) %>%
select(-freq)