【发布时间】:2011-07-23 01:22:02
【问题描述】:
在我的工作中,我经常将变量列表称为一个字符向量。
A <- data.table(var1 = 1:10, var2 = 11:20, var3 = 21:30)
vecvar <- c("var1", "var2", "var3")
只要有可能,我想使用vecvar 而不是枚举变量,因为这使我的代码对未来的应用程序更加健壮,以适应稍微不同的变量列表。
我最近发现了data.table,尽管我非常喜欢语法的整体优雅和效率提升,但我发现它与我上面概述的倾向有些冲突。确实,A[, vecvar] 不起作用。
我不确定解决此问题的最佳方法。
A[, vecvar, with=F] 可以工作,但并不总是很方便(例如,A[, list(vecvar, var1+var2), with=F] 不工作)。
A[, sapply(vecvar, get)] 不起作用,但 A[, sapply(vecvar, function(x) get(x))] 会。
我没有被卡住,因为我有办法处理它——我只是想知道在我养成坏习惯之前最好的解决方法是什么!
【问题讨论】:
标签: r data.table