Возвращает количество строк из фильтра dplyr. - PullRequest
0 голосов
/ 08 октября 2018

Я ищу простой фрагмент кода, чтобы сообщить о количестве строк, возвращаемых фильтром.Используя набор данных iris,

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

Этот оператор возвращает три строки, поэтому я хотел бы, чтобы вывод просто читал '3' в консоли.Еще лучше, в конечном счете, я хотел бы назвать этот объект «Answer1».

Ответы [ 2 ]

0 голосов
/ 09 октября 2018
iris %>%
    filter(Species == 'setosa', Sepal.Length >= 5.7) %>%
    count()
0 голосов
/ 08 октября 2018

Функция 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, просто дайте трубку до nrow:

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

[1] 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...