R错误地返回无穷大

时间:2018-07-12 15:12:41

标签: r math

在R中,我试图将一些值转换为-0.5的幂。我的一些值为0,执行此操作时它们返回Inf。为什么会这样?除非我在数学知识上有明显的失误,否则任何东西的幂的0仍然是0,这就是我所期望的。

我的值在1000的范围内,它们会返回正确的结果(即1000 ^(-0.5)= 0.031)

我做错了什么吗?在R中我需要做些特别的事情吗?这是我的代码示例:

DF[grep(".SUFFIX", names(henn))] <- DF[grep(".SUFFIX", names(DF))]^(-0.5)

该代码可以很好地用于其他功能,例如我是否+ 10

谢谢!

2 个答案:

答案 0 :(得分:2)

您将获得无穷大,因为将0提升至负幂会导致除以0:

0 ^ (-0.5) =
1 / (0^(0.5)) =
1 / 0 = Infinity

答案 1 :(得分:0)

我想出了答案。 0表示任何正功率为0,0表示任何负功率均未定义(除以0)。有道理。