由早期代码打高尔夫球的地方提示,为什么会:
>NaN^0
[1] 1
为 1 非常有意义,NA^0
因为NA
缺少数据,任何增加到 0 的数字都会给出 1,包括-Inf
和Inf
。然而NaN
应该代表not-a-number,那为什么会这样呢?当状态的帮助页面时,这更加令人困惑/令人担忧?NaN
:
在 R 中,基本上所有数学函数(包括 basic
Arithmetic
)都应该可以正常工作+/- Inf
并NaN
作为输入或输出。基本规则应该是调用和与
Inf
s 的关系确实是具有适当数学限制的语句。涉及的计算
NaN
将返回NaN
或者可能NA
返回:不能保证这两者中的哪一个,并且可能取决于 R 平台(因为编译器可能会重新排序计算)。
这背后是否有哲学原因,或者只是与 R 如何表示这些常数有关?