Learn R Programming

tidytable (version 0.10.2)

across.: Apply a function across a selection of columns

Description

Apply a function across a selection of columns. For use in arrange(), mutate(), and summarize().

Usage

across.(.cols = everything(), .fns = NULL, ..., .names = NULL)

Arguments

.cols

vector c() of unquoted column names. tidyselect compatible.

.fns

Function to apply. Can be a purrr-style lambda. Can pass also list of functions.

...

Other arguments for the passed function

.names

A glue specification that helps with renaming output columns. {.col} stands for the selected column, and {.fn} stands for the name of the function being applied. The default (NULL) is equivalent to "{.col}" for a single function case and "{.col}_{.fn}" when a list is used for .fns.

Examples

Run this code
df <- data.table(
  x = rep(1, 3),
  y = rep(2, 3),
  z = c("a", "a", "b")
)

df %>%
  mutate(across(c(x, y), ~ .x * 2))

df %>%
  summarize(across(where(is.numeric), ~ mean(.x)),
            .by = z)

df %>%
  arrange(across(c(y, z)))

Run the code above in your browser using DataLab