【发布时间】:2021-12-26 06:34:23
【问题描述】:
使用 tidyverse 包,我可以轻松地聚合单个变量。但是,我希望创建一个函数,允许我同时聚合多个变量。
我知道我必须将包含多个变量的数据框转换为一个列表,然后在该列表中应用一个聚合函数。但是,我无法创建此函数。
以下是我正在尝试做的事情的 REPREX:
# Load package
library(dplyr)
# Load dataset
dat <- data.frame(Titanic)
# Select variables
dat <- dat[, c('Class', 'Sex', 'Age','Survived')]
# Aggregate a single variable
dat %>% group_by(Class) %>% summarise(n=n())
# Desired outcome: Aggregate all variables simultaneously using a function
dat_ls <- as.list(dat) ## Create a list with all the variables
dat_agg <- lapply(dat_ls, function(???)) ## Apply aggregating function to each element in the list
【问题讨论】: