据我所知,在I中应避免使用"&"和"|"以避免向量扫描。因此:
data<-data.table(a=c(NA, 1, 2), b=c(1, 2, 1), key="a,b")
data[is.na(a) & b==1]
应该被替换为
data[.(NA_integer_, 1)]
但是:当我对所有非 NA 条目感兴趣时,该如何处理?使用以下代码是否可行,或者这会使用较慢的向量扫描?
data[!is.na(a) & b==1]
因为像这样的东西似乎不起作用
data[.(!NA_integer_, 1)]