当向量中包含负数时,NaN乘法结果

时间:2012-01-20 15:36:05

标签: r nan

将向量置于小数幂时计算结果时遇到问题。问题更具体地说,向量中的负数以NAN形式返回。如果我将负数分配给变量,也会发生这种情况。一些例子来解释:

> -5.718301^2.85
[1] -143.9498

> test<--5.718301
> test
[1] -5.718301
> test^2.85
[1] NaN

> c(5.718301)^2.85
[1] 143.9498
> c(-5.718301)^2.85
[1] NaN

任何人都可以向我解释为什么会这样吗?任何方式呢?有问题的向量可能有正值和负值,因此,我不能在之后指定负号。

提前致谢, 阿兰

1 个答案:

答案 0 :(得分:4)

(-5.718301)^2.85没有真正有价值的解决方案,因此NaN是正确答案。

> (-5.718301)^2.85
[1] NaN

你在这里尝试的东西类似于要求负数的平方根。

成功评估后

-5.718301^2.85

运算符的优先级意味着这相当于

-(5.718301^2.85)

当然这是明确定义的。