从dplyr筛选器返回行数

从dplyr筛选器返回行数,r,filter,dplyr,R,Filter,Dplyr,我正在寻找一段简单的代码来报告从过滤器返回的行数。使用iris数据集 iris %>% filter(Species == 'setosa', Sepal.Length >= 5.7) 此语句返回三行,因此我希望输出仅在控制台中读取'3'。更好的是,我最终希望将此对象命名为“Answer1”。函数对满足条件的行进行计数,并返回一个data.frame,其计数在列n中: iris %>% tally(Species == 'setosa' & S

我正在寻找一段简单的代码来报告从过滤器返回的行数。使用
iris
数据集

iris %>%
  filter(Species == 'setosa',
         Sepal.Length >= 5.7) 

此语句返回三行,因此我希望输出仅在控制台中读取'3'。更好的是,我最终希望将此对象命名为“Answer1”。

函数对满足条件的行进行计数,并返回一个data.frame,其计数在列
n
中:

iris %>% tally(Species == 'setosa' & Sepal.Length >= 5.7)

  n
1 3
如果你只想知道数字,我想目前惯用的方式可能是:

library(purrr)
iris %>% tally(Species == 'setosa' & Sepal.Length >= 5.7) %>% pluck("n")

[1] 3
或者,如果您喜欢
过滤器
,只需通过管道连接到nrow:

iris %>% filter(Species == 'setosa', Sepal.Length >= 5.7) %>% nrow

[1] 3

旁注:有趣/恼人的是,
purr的文档索引中没有列出“拔毛”
iris %>%
    filter(Species == 'setosa', Sepal.Length >= 5.7) %>%
    count()