Как выполнить отрицательный / 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 == & quot; a & quot; но используя бинарный поиск

DT["a"]

Это прекрасно, но я хочу противоположности этому. Я хочу, чтобы все строки не были "а" другими словами, где x! = & quot; a & quot;

DT[x!="a"]

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

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

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

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

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