3 ms·
It works and is IMO quite okay because NA is not the same as NaN (not a number). NA _does_ actually stand for a number, it's just that we don't know it. Which
by nosianu 5y ago
It works and is IMO quite okay because NA is not the same as NaN (not a number). NA _does_ actually stand for a number, it's just that we don't know it.
Which is an interesting detail in R that should be mentioned anyway, the difference between NA and NaN. Anyone used to languages which just NaN may confuse NA for that non-value.
https://www.r-bloggers.com/2012/08/difference-between-na-and-nan-in-r/ https://www.r-bloggers.com/2012/08/difference-between-na-and...
https://cran.r-project.org/doc/manuals/r-release/R-lang.html#NA-handling https://cran.r-project.org/doc/manuals/r-release/R-lang.html... (lots of details how NA and NaN are handled)
Except - 1^NaN also is 1... now that IMO is wrong. But you can try the same in your browser's JS console and you will get 1 as a result too, so R is not the only one.
There are several NA values in R - NA_integer_, NA_real_, NA_complex_ and NA_character_, and the results will be different if you use some of them. NA_character_ and NA_complex_ will produce errors (different ones).
- _fnhr 5y agoAgree about 1^NaN being strange. Also R's cleverness with NA's is not so consistent. For example: median(c(1,1,1,NA)) Should return 1, since no matter what value is behind NA the median is still 1. But it returns NA.