These are methods for the dplyr count()
and tally()
generics. They
wrap up group_by.tbl_lazy()
, summarise.tbl_lazy()
and, optionally,
arrange.tbl_lazy()
.
A data frame, data frame extension (e.g. a tibble), or a lazy data frame (e.g. from dbplyr or dtplyr).
<data-masking
> Variables, or
functions of variables. Use desc()
to sort a variable in descending
order.
<data-masking
> Frequency weights.
Can be NULL
or a variable:
If NULL
(the default), counts the number of rows in each group.
If a variable, computes sum(wt)
for each group.
If TRUE
, will show the largest groups at the top.
The name of the new column in the output.
If omitted, it will default to n
. If there's already a column called n
,
it will use nn
. If there's a column called n
and nn
, it'll use
nnn
, and so on, adding n
s until it gets a new name.
Not supported for lazy tables.
library(dplyr, warn.conflicts = FALSE)
db <- memdb_frame(g = c(1, 1, 1, 2, 2), x = c(4, 3, 6, 9, 2))
db %>% count(g) %>% show_query()
#> <SQL>
#> SELECT `g`, COUNT(*) AS `n`
#> FROM `dbplyr_jRmVMuJacg`
#> GROUP BY `g`
db %>% count(g, wt = x) %>% show_query()
#> <SQL>
#> SELECT `g`, SUM(`x`) AS `n`
#> FROM `dbplyr_jRmVMuJacg`
#> GROUP BY `g`
db %>% count(g, wt = x, sort = TRUE) %>% show_query()
#> <SQL>
#> SELECT `g`, SUM(`x`) AS `n`
#> FROM `dbplyr_jRmVMuJacg`
#> GROUP BY `g`
#> ORDER BY `n` DESC