This is a method for the dplyr::summarise()
generic.
See "Fallbacks" section for differences in implementation.
summarise()
creates a new data frame.
It returns one row for each combination of grouping variables;
if there are no grouping variables,
the output will have a single row summarising all observations in the input.
It will contain one column for each grouping variable
and one column for each of the summary statistics that you have specified.
# S3 method for duckplyr_df
summarise(.data, ..., .by = NULL, .groups = NULL)
A data frame, data frame extension (e.g. a tibble), or a lazy data frame (e.g. from dbplyr or dtplyr). See Methods, below, for more details.
<data-masking
> Name-value pairs of
summary functions. The name will be the name of the variable in the result.
The value can be:
A vector of length 1, e.g. min(x)
, n()
, or sum(is.na(y))
.
A data frame, to add multiple columns from a single expression.
Returning values with size 0 or >1 was
deprecated as of 1.1.0. Please use
reframe()
for this instead.
<tidy-select
> Optionally, a selection of columns to
group by for just this operation, functioning as an alternative to group_by()
. For
details and examples, see ?dplyr_by.
Grouping structure of the
result.
"drop_last": dropping the last level of grouping. This was the only supported option before version 1.0.0.
"drop": All levels of grouping are dropped.
"keep": Same grouping structure as .data
.
"rowwise": Each row is its own group.
When .groups
is not specified, it is chosen
based on the number of rows of the results:
If all the results have 1 row, you get "drop_last".
If the number of rows varies, you get "keep" (note that returning a
variable number of rows was deprecated in favor of reframe()
, which
also unconditionally drops all levels of grouping).
In addition, a message informs you of that choice, unless the result is ungrouped,
the option "dplyr.summarise.inform" is set to FALSE
,
or when summarise()
is called from a function in a package.
There is no DuckDB translation in summarise.duckplyr_df()
with .groups = "rowwise"
.
These features fall back to dplyr::summarise()
, see vignette("fallback")
for details.
library(duckplyr)
summarise(mtcars, mean = mean(disp), n = n())
Run the code above in your browser using DataLab