从dplyr过滤器返回行数

时间:2018-10-08 18:19:19

标签: r filter dplyr

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

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

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

2 个答案:

答案 0 :(得分:2)

tally函数对满足条件的行进行计数,并返回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

或者,如果您喜欢filter,只需通过管道即可获得:

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

[1] 3

答案 1 :(得分:0)

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