我想将函数应用于名称在变量中的某些列。我可以用eval()选择它,但我不能将它传递给函数。
library(data.table)
dt <- data.table(col1 = 1:10)
mnem <- colnames(dt)[1]
# This works fine
dt[, eval(mnem)]
# None of these works
dt[, sum(mnem)]
dt[, sum(mnem), with = FALSE]
dt[, sum(eval(mnem))]
dt[, sum(eval(mnem)), with = FALSE]
答案 0 :(得分:0)
民众已经说出了正确的答案,或者你可以做到:
dt[, sum(eval(parse(text = mnem)))]
答案 1 :(得分:0)
@“ R for the Win”的形式对于生成带有有意义的分组标题的汇总的汇总很有用(必要吗?)。
B <- C.