summarise2 {tidyplus} | R Documentation |
Summarise Each Group Down to One Row
Description
Wrapper on dplyr::summarise
that sets the default for the .group variable
to "keep". This means that all the groups set in dplyr::group_by
are
retained, not just the first group.
Usage
summarise2(.data, ..., .by = NULL, .groups = "keep")
summarize2(.data, ..., .by = NULL, .groups = "keep")
Arguments
.data |
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. |
... |
< The value can be:
|
.by |
< |
.groups |
When
In addition, a message informs you of that choice, unless the result is ungrouped,
the option "dplyr.summarise.inform" is set to |
Value
An object usually of the same type as .data
.
The rows come from the underlying
group_keys()
.The columns are a combination of the grouping keys and the summary expressions that you provide.
The grouping structure is controlled by the
.groups=
argument, the output may be another grouped_df, a tibble or a rowwise data frame.Data frame attributes are not preserved, because
summarise()
fundamentally creates a new data frame.
Useful functions
Count:
n()
,n_distinct()
Backend variations
The data frame backend supports creating a variable and using it in the
same summary. This means that previously created summary variables can be
further transformed or combined within the summary, as in mutate()
.
However, it also means that summary variables with the same names as previous
variables overwrite them, making those variables unavailable to later summary
variables.
This behaviour may not be supported in other backends. To avoid unexpected results, consider using new names for your summary variables, especially when creating multiple summaries.
Methods
This function is a generic, which means that packages can provide implementations (methods) for other classes. See the documentation of individual methods for extra arguments and differences in behaviour.
The following methods are currently available in loaded packages: no methods found.
See Also
dplyr::summarise()
and dplyr::summarize()
Examples
df <- data.frame(
group = c("A", "A", "B", "B"),
id = c(1, 1, 2, 2),
value = c(10, 4, 20, 6)
)
# summarise2 doesn't produce message about groups
df |>
dplyr::group_by(group, id) |>
summarise2(mean = mean(value))
# summarise doesn't retain all the groups set in `group_by`
df |>
dplyr::group_by(group, id) |>
dplyr::summarise(mean = mean(value))