R 使用data.table按不同函数汇总列
假设R 使用data.table按不同函数汇总列,r,data.table,R,Data.table,假设df是一个包含许多列的数据表。我想按variable1分组,并对variables\u f中的所有变量使用f函数对数据表进行汇总,并对variables\u g中的所有变量使用g进行汇总,假设“variables\u f”和“variables\u g”是字符字符串的vector代表列名,我们按“variable1”分组,用mget在列表中获取这些向量的值,循环lappy,应用函数f和g,然后将(c)连接在一起 数据 set.seed(24) 仅供参考,通常最好提供一个具体的例子,就像akr
df
是一个包含许多列的数据表。我想按variable1
分组,并对variables\u f
中的所有变量使用f
函数对数据表进行汇总,并对variables\u g
中的所有变量使用g进行汇总,假设“variables\u f”和“variables\u g”是字符字符串的vector
代表列名,我们按“variable1”分组,用mget
在列表中获取这些向量的值,循环lappy
,应用函数f
和g
,然后将(c
)连接在一起
数据
set.seed(24)
仅供参考,通常最好提供一个具体的例子,就像akrun在下面的“数据”部分所做的那样。
df[, c(lapply(mget(variables_f), f),
lapply(mget(variables_g), g)), by = variable1]
set.seed(24)
df <- data.frame(variable1 = rep(LETTERS[1:5], each = 2),
matrix(sample(1:9, 10*20, replace=TRUE), ncol=20,
dimnames = list(NULL,
c(paste0('var_f', 1:10), paste0('var_g', 1:10)))))
setDT(df)
variables_f <- paste0("var_f", 1:10)
variables_g <- paste0("var_g", 1:10)
f <- function(x) mean(x)
g <- function(x) max(x)