R data.table使用变量名进行分组
我正在尝试从现有表创建一个摘要R data.table使用变量名进行分组,r,data.table,R,Data.table,我正在尝试从现有表创建一个摘要数据表,但是我希望在一个函数中这样做,该函数允许我传入列前缀,以便我可以根据需要为列添加前缀 我已经看到了问题/回答,但我正在尝试解决如何在不使用:=运算符时执行此操作 雷普雷克斯: library(data.table) tbl1 <- data.table(urn = c("a", "a", "a", "b", "b", "b"), amount = c(1, 2, 1, 3, 3, 4)) # urn amount # 1:
数据表
,但是我希望在一个函数中这样做,该函数允许我传入列前缀,以便我可以根据需要为列添加前缀
我已经看到了问题/回答,但我正在尝试解决如何在不使用:=
运算符时执行此操作
雷普雷克斯:
library(data.table)
tbl1 <- data.table(urn = c("a", "a", "a", "b", "b", "b"),
amount = c(1, 2, 1, 3, 3, 4))
# urn amount
# 1: a 1
# 2: a 2
# 3: a 1
# 4: b 3
# 5: b 3
# 6: b 4
tbl2 <- tbl1[, .(mean_amt = mean(amount),
rows = .N),
by = urn]
# urn mean_amt rows
# 1: a 1.333333 3
# 2: b 3.333333 3
库(data.table)
tbl1您可以使用setNames
动态重命名列:
prefix <- "mypfx_"
tbl2 <- tbl1[, setNames(list(mean(amount), .N), paste0(prefix, c("mean_amt", "rows"))),
by = urn]
tbl2
# urn mypfx_mean_amt mypfx_rows
#1: a 1.333333 3
#2: b 3.333333 3
前缀仅供参考,tbl2中有一个注释
prefix <- "mypfx_"
tbl2 <- tbl1[, setNames(list(mean(amount), .N), paste0(prefix, c("mean_amt", "rows"))),
by = urn]
tbl2
# urn mypfx_mean_amt mypfx_rows
#1: a 1.333333 3
#2: b 3.333333 3