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