Skip to content

min/max of a vector with NAs and NaNs

2 messages · Hervé Pagès, Brian Ripley

#
I get this (with R-2.12 and R-2.13, didn't try with earlier versions):

 > max(c(NaN, NA))
[1] NA
 > max(c(NA, NaN))
[1] NaN

I get the same thing with min().

The fact that the result of 'max(x)' or 'min(x)' depends on the order
of the elements in 'x' is surprising. It also seems to contradict the
man page:

      By definition the min/max of a numeric vector containing an ?NaN?
      is ?NaN?, except that the min/max of any vector containing an ?NA?
      is ?NA? even if it also contains an ?NaN?.

Cheers,
H.
3 days later
#
On Wed, 23 Feb 2011, Herv? Pag?s wrote:

            
This seemed to depend on the compiler, and in your case the compiler 
has optimized away the code to achieve this.   I've changed the code 
in R-devel to something that seems to be more robust.  Note that the 
comment did not apply to max(NA, NaN), but that should also now be 
consistent.