【发布时间】: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