У меня есть data.table
, который я хочу фильтровать на основе некоторых критериев неравенства:
dt <- data.table(A=letters[1:3], B=2:4)
dt
# A B
# 1: a 2
# 2: b 3
# 3: c 4
dt[B>2]
# A B
# 1: b 3
# 2: c 4
Вышеупомянутое хорошо работает как решение для векторного сканирования. Но я не могу понять, как объединить это с именами переменных для столбцов:
mycol <- "B"
dt[mycol > 2]
# A B // Nothing has changed
# 1: a 2
# 2: b 3
# 3: c 4
Как мне обойти это? Я знаю, что могу использовать двоичный поиск, установив ключи с помощью setkeyv(dt, mycol)
, но я не вижу способа выполнения двоичного поиска на основе некоторых критериев неравенства.