That is one valid point, but according to IEEE754 "a comparison with NaN always 
returns an unordered result" which it doesn't do unless the incomparables 
argument to match is specified. Ick.
-- 
Sent from my phone. Please excuse my brevity.

On February 27, 2016 3:34:34 PM PST, Bert Gunter <bgunter.4...@gmail.com> wrote:
>If I understand you correctly, the "bug" is that you do not understand
>match(). See inline comment below and note carefully the "Value"
>section of ?match.
>
>Cheers,
>Bert
>
>Bert Gunter
>
>"The trouble with having an open mind is that people keep coming along
>and sticking things into it."
>-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>
>
>On Sat, Feb 27, 2016 at 2:52 PM, Jason Thorpe <jdtho...@gmail.com>
>wrote:
>> For some reason `match()` treats `NaN`'s as comparables by default:
>>
>>> x <- c(1,2,3,NaN,4,5)
>>> match(x,x)
>> [1] 1 2 3 4 5 6
>>
>> which I can override when using `match()` directly:
>>
>>> match(x,x,incomparables=NaN)
>> [1]  1  2  3 NA  5  6
>>
>> but not necessarily when calling a function that uses `match()`
>internally:
>>
>>> stats::ecdf(x)(x)
>> [1] 0.2 0.4 0.6 0.8 0.8 1.0
>>
>> Obviously there are workarounds for any given scenario, but the
>bigger
>> problem is that this behavior causes difficult to discover bugs.  For
>> example, the behavior of stats::ecdf is definitely a bug introduced
>by it's
>> use of `match()` (unless you think NaN == 4 is correct).
>
>No, you misunderstand. match() returns the POSITION of the match, and
>clearly NaN in the 4th position of table =x matches NaN in x. e.g.
>
>> match(c(x,NaN),x)
>[1] 1 2 3 4 5 6 4
>
>
>
>>
>> Is there a good reason that NaN's are treated as comparables by
>match(), or
>> his this a bug?
>>
>> For reference, I'm using R version 3.2.3
>>
>> -Jason
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
>______________________________________________
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to