dplyr или аккуратный способ подсчета количества каждого уникального значения в векторе? - PullRequest
1 голос
/ 09 мая 2020

Существует множество способов подсчета значений в векторе, включая знакомые (но чреватые ) table()

Есть ли безопасный / надежный метод что использует dplyr / tidyverse?

Примечание plyr::count() кажется, работает хорошо, но, очевидно, от plyr, а не dplyr

c(1,3,3,3,4,4) %>% plyr::count()
  x freq
1 1    1
2 3    3
3 4    2

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

Мы также можем преобразовать в data.frame

library(dplyr)
c(1,3,3,3,4,4) %>%
     data.frame(value = .) %>%
     count(value)

Или просто использовать table

c(1,3,3,3,4,4) %>%
    table %>%
    as.data.frame
2 голосов
/ 09 мая 2020
Функции

dplyr лучше подходят для фреймов данных / таблиц, чем векторов. Вы можете использовать dplyr::count после преобразования вектора в тибл.

c(1,3,3,3,4,4) %>% tibble::as_tibble() %>% count(value)

#  value     n
#  <dbl> <int>
#1     1     1
#2     3     3
#3     4     2
...