您需要将命名参数传递给
.fns
使用
{.fn}
在里面
.names
:
library(dplyr)
penguins_stats <- penguins %>%
dplyr::group_by(species) %>%
dplyr::summarise(across(.cols = ends_with("mm"),
.fns = list(mean = ~mean(.x, na.rm = TRUE),
sd = ~sd(.x, na.rm = TRUE)),
.names = "{.col}_{.fn}"))
names(penguins_stats)
#[1] "species" "bill_length_mm_mean" "bill_length_mm_sd"
#[4] "bill_depth_mm_mean" "bill_depth_mm_sd" "flipper_length_mm_mean"
#[7] "flipper_length_mm_sd"
但是,如果传递一个命名参数,则不需要
penguins_stats <- penguins %>%
dplyr::group_by(species) %>%
dplyr::summarise(across(.cols = ends_with("mm"),
.fns = list(mean = ~mean(.x, na.rm = TRUE),
sd = ~sd(.x, na.rm = TRUE))))
names(penguins_stats)
#[1] "species" "bill_length_mm_mean" "bill_length_mm_sd"
#[4] "bill_depth_mm_mean" "bill_depth_mm_sd" "flipper_length_mm_mean"
#[7] "flipper_length_mm_sd"