Я часто использую data.table. Это работает хорошо, но я обнаружил, что у меня уходит много времени на изменение моего синтаксиса, чтобы он использовал преимущества двоичного поиска.
В следующей таблице данных как 1 выбрать все строки, в том числе, где значение CPT равно NA
, но исключить строки, где значение CPT равно 23456 или 10000.
cpt <- c(23456,23456,10000,44555,44555,NA)
description <- c("tonsillectomy","tonsillectomy in >12 year old","brain transplant","castration","orchidectomy","miscellaneous procedure")
cpt.desc <- data.table(cpt,description)
setkey(cpt.desc,cpt)
Следующая строка работает, но я думаю, что она использует метод векторного сканирования вместо двоичного поиска (или двоичного исключения). Есть ли способ отбрасывать строки бинарными методами?
cpt.desc[!cpt %in% c(23456,10000),]