Как выполнить отрицательный / nomatch / обратный поиск в data.table?

Что произойдет, если я хочу выбрать все строки в data.table, которые не содержат определенного значения в ключевой переменной, с помощью бинарного поиска? Кстати, какой правильный жаргон для того, что я хочу сделать? Это "nojoin»? Это "отрицательный отбор "?

DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
setkey(DT,x)

Давайте сделаем положительный выбор для всех строк, где x == "a" но используя бинарный поиск

DT["a"]

Тот'это красиво, но я хочу противоположность этому. Я хочу, чтобы все строки не были "а" другими словами, где х! = "а"

DT[x!="a"]

Это векторное сканирование. Приведенная выше строка работает, но использует векторное сканирование. Я хочу использовать двоичный файл. Я ожидал следующего, чтобы работать, но увы ...

DT[!"a"]
DT[-"a"]

Вышеперечисленные два не работают, а попытки играть с nomatch меня ни к чему не привели.

Ответы на вопрос(2)

Ваш ответ на вопрос