Apply a function across the value or missing reason channels of multiple columns
Source:R/interlaced-tidy-helpers.R
across_value_channels.Rd
across_value_channels()
and across_na_channels()
are simple wrappers
dplyr::across()
that applies transformations to value or missing reason
channels, respectively.
Usage
across_value_channels(.cols, .fns, .names = NULL, .unpack = FALSE)
across_na_channels(.cols, .fns, .names = NULL, .unpack = FALSE)
Arguments
- .cols
<
tidy-select
> Columns to transform. You can't select grouping columns because they are already automatically handled by the verb (i.e.summarise()
ormutate()
).- .fns
Functions to apply to each of the selected columns. Possible values are:
A function, e.g.
mean
.A purrr-style lambda, e.g.
~ mean(.x, na.rm = TRUE)
A named list of functions or lambdas, e.g.
list(mean = mean, n_miss = ~ sum(is.na(.x))
. Each function is applied to each column, and the output is named by combining the function name and the column name using the glue specification in.names
.
Within these functions you can use
cur_column()
andcur_group()
to access the current column and grouping keys respectively.- .names
A glue specification that describes how to name the output columns. This can use
{.col}
to stand for the selected column name, and{.fn}
to stand for the name of the function being applied. The default (NULL
) is equivalent to"{.col}"
for the single function case and"{.col}_{.fn}"
for the case where a list is used for.fns
.- .unpack
-
Optionally unpack data frames returned by functions in
.fns
, which expands the df-columns out into individual columns, retaining the number of rows in the data frame.If
FALSE
, the default, no unpacking is done.If
TRUE
, unpacking is done with a default glue specification of"{outer}_{inner}"
.Otherwise, a single glue specification can be supplied to describe how to name the unpacked columns. This can use
{outer}
to refer to the name originally generated by.names
, and{inner}
to refer to the names of the data frame you are unpacking.
Value
like dplyr::across()
, across_value_channels()
and
across_na_channels()
return a tibble with one column for each column in
.cols
and each function in .fns
See also
Other interlaced tidy helpers:
where_value_channel()