查询具有变量名称的数据表列

时间:2014-09-24 19:18:53

标签: r data.table

我正在创建一个可以查询一列或多列的函数,并且想知道是否有办法使用变量名来查询数据表。我可以将get(var)用于一列,但不能用于多列。

test <- data.table(a = 1:3, b = seq(2,6,2), c = seq(3,9,3))
> test
   a b c
1: 1 2 3
2: 2 4 6
3: 3 6 9
> t1 <- 'b'
> test[, get(t1)]
[1] 2 4 6
> t2 <- c('b', 'c')
> test[, list(get(t2))]
   V1
1:  2
2:  4
3:  6

我试过mget,但那也不起作用:

> test[, list(mget(t2))]
Error: value for ‘b’ not found

或lapply,这基本上是mget所做的:

> test[, list(lapply(t2, get))]
Error in FUN(c("b", "c")[[1L]], ...) : object 'b' not found

如果您只是尝试变量:

> test[, list(t2)]
   t2
1:  b
2:  c

有什么想法吗?

肖恩

0 个答案:

没有答案