У меня есть data.table
структуру, как это (кроме меня это действительно огромный):Keyed поиск по data.table без «с»
dt <- data.table(x=1:5, y=3:7, key='x')
Я хочу посмотреть строки в этой структуре по другой переменной, имя x
(заметьте - такой же, как имя ключа dt
):
x <- 3:4
dt2 <- dt[ J(x) ]
Это не работает, потому что поиск видит имя столбца первой, а локальная переменная затемняется:
dt2
# x y
# 1: 1 3
# 2: 2 4
# 3: 3 5
# 4: 4 6
# 5: 5 7
Я думал о with
аргумент для [.data.table
, но это относится только к j
аргумента, а не i
аргумента.
Есть ли что-то подобное для аргумента i
?
Если нет, такая вещь будет полезна всякий раз, когда я использую локальную переменную, и я не знаю полного списка имен столбцов в dt
, чтобы избежать конфликтов.
В НОВОСТИ for 1.8.2 есть пункт, который предполагает, что синтаксис '..()' запланирован для оценки в вызывающем кадре. Он, кажется, не находится в '1.8.7' – mnel