基于频率的dplyr链滤波器[重复]

问题描述 投票:-3回答:1
table(mtcars$cyl)

 4  6  8 
11  7 14 

假设我想过滤低频项,在这种情况下小于10.是否有优雅的dplyr esque方式来做到这一点?

mtcars %>% group_by(cyl) %>% filter([???])

结果将是仅具有4和8个圆柱的数据帧,因为它们都出现10次或更多次。

r dplyr
1个回答
1
投票

cyl分组,计算行数,过滤,可选择删除freq列:

library(dplyr)
mtcars %>% 
  group_by(cyl) %>% 
  mutate(freq = n()) %>% 
  ungroup() %>% 
  filter(freq > 9) %>%
  select(-freq)
© www.soinside.com 2019 - 2024. All rights reserved.