Подсказка с точки зрения более раннего кодирования кода, почему бы:
>NaN^0
[1] 1
Для NA^0
имеет смысл быть 1, потому что NA
отсутствует данные, а любое число, поднятое до 0, даст 1, включая -Inf
и Inf
. Однако NaN
должен представлять не-число, так почему это так? Это еще более запутывает/беспокоит, когда на странице справки ?NaN
указано:
В R, в основном, все математические функции (включая базовые Арифметика), должны нормально работать с +/- Inf и NaN как ввода или вывода.
Основным правилом должно быть то, что вызовы и отношения с Infs действительно являются с соответствующим математическим пределом.
Вычисления с участием NaN вернут NaN или, возможно, NA: какой из эти два не гарантируются и могут зависеть от платформы R (поскольку компиляторы могут переупорядочивать вычисления).
Есть ли философская причина этого, или это просто связано с тем, как R представляет эти константы?