Быстро СУЩЕСТВУЕТ в data.table
Какой самый быстрый способ проверить, существует ли значение в data.table? Предположим, что
dt - это таблица данных из n столбцов, где ключом является k столбцов.keys - это список, или значение, или data.table, или все, что можно использовать вi
аргумент[.data.table
Я сейчас занимаюсь
NROW(dt[keys,nomatch=0])!=0
Есть ли что-нибудь быстрее?
пример
require(data.table)
iniDate = as.Date("2000-01-01")
theData = data.table(a = LETTERS, d = seq(from=iniDate ,to= iniDate + length(LETTERS)*3000-1,by="day"))
theKeys = data.table(a = c("J","M","T"), d = as.Date(c("2005-01-20","2005-05-20","2013-01-12")))
setkey(theData,a,d)
NROW(theData[theKeys],nomatch=0)!=0