Я хочу подмножить data.table
с помощью переменной, которая имеет то же имя, что и столбец, который ссылается на некоторые проблемы:
dt <- data.table(a=sample(c('a', 'b', 'c'), 20, replace=TRUE),
b=sample(c('a', 'b', 'c'), 20, replace=TRUE),
c=sample(20), key=c('a', 'b'))
evn <- environment()
a <- 'b'
dt[a == a]
#Expected Result
dt[a == 'b']
Я встретил это возможное решение:
env <- environment()
dt[a == get('a',env)]
Но это так же неудобно, как:
this.a = a
dt[a == this.a]
Итак, есть ли еще одно элегантное решение?