R 数据表SD在LHS中:=
这是关于一个的问题,我的原始答案不太有效,因为它试图在LHS中使用R 数据表SD在LHS中:=,r,data.table,R,Data.table,这是关于一个的问题,我的原始答案不太有效,因为它试图在LHS中使用.SD: library(data.table) data.table(data)[, paste0(names(.SD), "_tot"):=lapply(.SD, sum), by=region, .SDcols=-1 ][1:2] # biz region june july _tot # 1: telco mideast 2 122 768 # 2: shipping mideast
.SD
:
library(data.table)
data.table(data)[,
paste0(names(.SD), "_tot"):=lapply(.SD, sum), by=region, .SDcols=-1
][1:2]
# biz region june july _tot
# 1: telco mideast 2 122 768
# 2: shipping mideast 29 111 768
但我真的希望这能起到什么作用
new.names <- paste0(names(data[, -(1:2)]), "_tot")
data.table(data)[,
(new.names):=lapply(.SD, sum), by=region, .SDcols=-1
][1:2]
# biz region june july june_tot july_tot
# 1: telco mideast 2 122 768 3802
# 2: shipping mideast 29 111 768 3802
new.names目前,您所采用的方式是惯用方式。但接受建议和/或请求;-)@阿伦,稍有更新。我不确定我是否还敢乱动数据表源代码,但可能很快?当然,再次感谢。一旦我有时间调查此事,我将继续跟进(不过可能不会很快)。贡献时,随时准备;-)。