Summarize each group in a ir object to fewer rows
Arguments
- .data
An object of class
ir.- ...
<
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(), orsum(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.- .groups
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
.groupsis 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 whensummarise()is called from a function in a package.
Value
.data with summarized columns. If the spectra column is dropped
or invalidated (see ir_new_ir()), the ir class is dropped, else the
object is of class ir.
See also
Other tidyverse:
arrange.ir(),
distinct.ir(),
extract.ir(),
filter-joins,
filter.ir(),
group_by,
mutate,
mutate-joins,
nest,
pivot_longer.ir(),
pivot_wider.ir(),
rename,
rowwise.ir(),
select.ir(),
separate.ir(),
separate_rows.ir(),
slice,
unite.ir()
Examples
## summarize
# select in each sample_type groups the first spectrum
ir_sample_data |>
dplyr::group_by(sample_type) |>
dplyr::summarize(spectra = list(spectra[[1]]))
#> # A tibble: 8 × 2
#> sample_type spectra
#> * <chr> <list>
#> 1 hardwood <tibble [3,351 × 2]>
#> 2 leaves and grasses <tibble [3,351 × 2]>
#> 3 needles <tibble [3,351 × 2]>
#> 4 office paper <tibble [3,351 × 2]>
#> 5 old corrugated cardboard <tibble [3,351 × 2]>
#> 6 old magazines <tibble [3,351 × 2]>
#> 7 old newsprint <tibble [3,351 × 2]>
#> 8 softwood <tibble [3,351 × 2]>