R 根据其他列聚合多个列

R 根据其他列聚合多个列,r,aggregate,R,Aggregate,在data.frame中包含数据后,我希望将一些列(使用任何常规函数)按其他列进行分组,保持其余的列不变(甚至忽略它们)。现在的流行方式是调用SQL中的groupby函数。作为一个例子,让我们假设 df <- data.frame(a=rnorm(4), b=rnorm(4), c=c("A", "B", "C", "A")) df对不起,我不明白处理多个专栏会使事情复杂化 library(data.table) dt <- data.table(df) dt[,.(sum_a =

在data.frame中包含数据后,我希望将一些列(使用任何常规函数)按其他列进行分组,保持其余的列不变(甚至忽略它们)。现在的流行方式是调用
SQL
中的
groupby
函数。作为一个例子,让我们假设

df <- data.frame(a=rnorm(4), b=rnorm(4), c=c("A", "B", "C", "A"))

df对不起,我不明白处理多个专栏会使事情复杂化

library(data.table)
dt <- data.table(df)
dt[,.(sum_a = sum(a),mean_b= mean(b)),by = c]
库(data.table)

dt对不起,我不明白处理一个以上的专栏会使事情复杂化

library(data.table)
dt <- data.table(df)
dt[,.(sum_a = sum(a),mean_b= mean(b)),by = c]
库(data.table)

dt对不起,我不明白处理一个以上的专栏会使事情复杂化

library(data.table)
dt <- data.table(df)
dt[,.(sum_a = sum(a),mean_b= mean(b)),by = c]
库(data.table)

dt对不起,我不明白处理一个以上的专栏会使事情复杂化

library(data.table)
dt <- data.table(df)
dt[,.(sum_a = sum(a),mean_b= mean(b)),by = c]
库(data.table)
dt像这样

    mapply(Vectorize(function(x, y) aggregate(
      df[, x], by=list(df[, 3]), FUN=y), SIMPLIFY = F), 
      1:2, c('sum', 'mean'))
像这样

    mapply(Vectorize(function(x, y) aggregate(
      df[, x], by=list(df[, 3]), FUN=y), SIMPLIFY = F), 
      1:2, c('sum', 'mean'))
像这样

    mapply(Vectorize(function(x, y) aggregate(
      df[, x], by=list(df[, 3]), FUN=y), SIMPLIFY = F), 
      1:2, c('sum', 'mean'))
像这样

    mapply(Vectorize(function(x, y) aggregate(
      df[, x], by=list(df[, 3]), FUN=y), SIMPLIFY = F), 
      1:2, c('sum', 'mean'))


这已经被问了无数次了,请看这里和这里和这里@grrgrrbla在这种情况下请投票作为一个副本关闭。可能是@tim biegeleisen的副本,soI已经看到了上述所有内容,它们都是指只聚合一列,这可以用不同的语法轻松完成。这已经被问了无数次了,参见此处此处此处此处此处@grrgrrbla请投票以在本例中作为副本关闭。可能是@tim biegeleisen的副本,soI已经看到了上述所有内容,它们都指仅聚合一列,这可以通过不同的语法轻松完成。这已被问了无数次,参见此处此处此处此处此处@grrgrrbla请投票以在本例中作为副本关闭。可能是@tim biegeleisen的副本,soI已经看到了上述所有内容,它们都指仅聚合一列,这可以通过不同的语法轻松完成。这已被问了无数次,在本例中,@grrgrrbla请投票以副本形式关闭。可能是@tim biegeleisen的副本,soI已经看到了上述所有内容,它们都指只聚合一列,这可以用不同的语法轻松完成。这给了我:[,1][,2]组。1因子,3因子,3个数字,3个数字,3这个给我:[,1][,2]组。1个因素,3个因素,3个数字,3这个给我:[,1][,2]组。1个因素,3个因素,3个数字,3个数字,3个给我:[,1][,2]组。1个因素,3个因素,3个数字,3个数字,3如果我想按多个列进行分组,该怎么办?正确的语法应该是什么?如果我想按多个列
c
进行分组,该怎么办?正确的语法应该是什么?如果我想按多个列
c
进行分组,该怎么办?正确的语法应该是什么?如果我想按多个列
c
进行分组,该怎么办?正确的语法应该是什么?df