我有一个数据框,我想按一定数量的某些标准出现来过滤行。
示例:
yelp_tbl_asian %>% count(name) %>% filter(n > 10)
# A tibble: 16 x 2
name n
<chr> <int>
1 China Buffet 12
2 China Garden 12
3 China House 14
4 China Star 13
在该步骤之后,我想按其他标准过滤/编辑数据框。
示例:
yelp_tbl_asian %>% filter(rating > 3.5) %>% select(attributes) %>% dmap(unlist) %>% count(attributes) %>% arrange(desc(n))
# A tibble: 227 x 2
attributes n
<chr> <int>
1 RestaurantsTakeOut: True 3265
2 RestaurantsAttire: casual 3233
3 GoodForKids: True 2986
4 BusinessAcceptsCreditCards: True 2939
问题是,第一步是从数据集中删除以下条件。因此,在第一次过滤后,第二步不再可能。我想结合两个命令/步骤。
答案 0 :(得分:0)
正如评论中所建议的,您可以继续合并。我更喜欢避免这种情况,并使用group_by
+ mutate
组合来避免对表进行汇总,只需添加一个包含每个名称计数的列(重复次数与观察次数相同):
yelp_tbl_asian %>% group_by(name) %>% mutate(n=n()) %>% filter(n > 10)
然后,您可以通过为第二步添加更多过滤器来继续管道。