Как выполнить отрицательный / 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 меня ни к чему не привели.