【问题标题】:data.table summary by group for multiple columns [duplicate]多列分组的data.table摘要[重复]
【发布时间】:2019-09-16 06:47:48
【问题描述】:
dt = data.table(a = rep(x = c(1, 2, 3), 3), y = as.numeric(1:9), z = as.numeric(2:10))

我知道这是按组汇总一列的值:

dt = data.table(a = rep(x = c(1, 2, 3), 3), y = as.numeric(1:9), z = as.numeric(2:10))

但如果我尝试多列:

dt[, .(c('y', 'z') = list(mean(y) mean(z)), by = a]

我得到了错误

错误:“dt[, .(c('y', 'z') ="

中出现意外的 '='

我在寻找什么:

## data.table equivalent to
dt %>% group_by(a) %>% summarise(y = mean(y), z = mean(z))
#  a     y     z
#  <dbl> <dbl> <dbl>
#1     1     4     5
#2     2     5     6
#3     3     6     7

【问题讨论】:

    标签: r data.table


    【解决方案1】:
    dt <- dt[, .(y = mean(y), z = mean(z)), by=.(a)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 2015-10-21
      • 2022-06-20
      • 2019-01-22
      • 1970-01-01
      相关资源
      最近更新 更多