値が data.table に存在するかどうかを確認する最も速い方法は何ですか? 仮定
- dt は、k 列がキーである n 列の data.table です。
- 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