<div><div>(Sorry @Matthew for the double email, I forgot to include the list once again).</div><div><br></div><div>However, one inconsistency I find with the use of `!(x==.)` is this:</div><div><br></div><div>dt1 <- data.table(x = 0:4, y=5:9)</div><div>> dt1[!(x)]</div><div><div> x y</div><div>1: 4 9</div></div><div><br></div><div>Not the correct result! If `!(x==.)` is equal to `x != .`, then the correct result should be the first row, isn't it?</div><div><br></div><div>dt2 <- data.table(x = c(0,3,4,NA), y = c(NA,4,5,NA))</div><div><div>> dt2[!(x)] # ends up in an error</div><div>Error in seq_len(nrow(x))[-irows] : </div><div> only 0's may be mixed with negative subscripts</div></div><div><br></div><div>It ends up in an error because `NA` is not removed/replaced.</div><div><br></div><div>Running the same on data.frame gives the results it's supposed to.</div><div><br></div><div>Arun</div></div><div><br></div>