[datatable-help] NA in joins
Arunkumar Srinivasan
aragorn168b at gmail.com
Thu Sep 18 21:00:56 CEST 2014
In base R `NA` matches `NA` alone, and `NaN` matches `NaN` alone:
match(NA, c(1:5, NA))
# [1] 6
data.table matches, through binary search, by design, in the same way. And in `?match`, there's this line: "Exactly what matches what is to some extent a matter of definition." In some operations it may not make sense. But, by design, we do consider Inf = Inf, -Inf = -Inf, NaN = NaN and NA = NA always. Do you think it'd help tp state this explicitly in `?data.table`?
Arun
From: Juan Manuel Truppia <jmtruppia at gmail.com>
Reply: Juan Manuel Truppia <jmtruppia at gmail.com>>
Date: September 18, 2014 at 6:14:56 PM
To: datatable-help at lists.r-forge.r-project.org <datatable-help at lists.r-forge.r-project.org>>
Subject: [datatable-help] NA in joins
Hi, this must have been discussed before, but I couldn't find anything.
In my opinion, NA shouldn't join with anything, including other NA (as to mirror what we expect from SQL, where NULL doesn't join with NULL).
However, with data.table, NA matches other NA.
I.e, this should return an empty data.table
data.table(idx = NA_real_, key = "idx")[data.table(idx = NA_real_, val = "a", key = "idx"), nomatch = 0]
Let's assume that we can't change this behavior, would it be possible to add a parameter to avoid NA matching NA in [.data.table and merge?
_______________________________________________
datatable-help mailing list
datatable-help at lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20140918/01e954ea/attachment.html>
More information about the datatable-help
mailing list