为什么R需要1次提升功率无穷大为1?

时间:2016-10-18 07:00:19

标签: r math

众所周知,数学中提升到无穷大是一种不确定的形式。有更多讨论here

在R控制台中,

 > (1)^(Inf)
[1] 1

我认为它应该产生NaN。请解释此输出背后的逻辑。我在Windows 7平台(32位系统)上使用R版本3.1.2。

2 个答案:

答案 0 :(得分:5)

来自help("^")

  

1 ^ y和y ^ 0总是1。

经常输出1 ^ Inf的限制非常有用。为0 ^ 0返回1通常也比任何替代方案更有用。但是,这些基本上都是设计决定。

答案 1 :(得分:1)

可能存在历史和兼容性原因。 R是S和S的变体,可以追溯到1976年。S - Wikipedia R本身于1993年首次发布,与商业S-Plus的兼容性非常重要。

S被设计为统计语言,因为不确定形式的精确含义的这些细分不是一个大问题。您能举例说明在实际统计应用中何时会出现这些形式?

我怀疑在S的早期版本中,决定设置1 ^(任意)= 1,并且(任何)^ 0 = 1,0 ^(任意)= 0,(任何)^ 1 = (任何)。然而,实施这些法规的确切顺序可能不会太多。

一旦做出决定,它几乎就是一成不变的。改变行为然后有可能破坏第三方算法。因此,更容易实现一个没有实际后果的约定。

这些惯例非常简单。 Excel获得某些运算符的优先级错误,但不敢更改它以获得中断兼容性。