【问题标题】:NaN Multiplication Result When Negative Number is Contained within a Vector向量中包含负数时的 NaN 乘法结果
【发布时间】:2012-02-15 03:54:54
【问题描述】:

我在计算结果时遇到问题,将向量置于小数的幂。更具体地说,问题是向量中的负数以 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

谁能向我解释为什么会发生这种情况?有什么办法吗?有问题的向量可能有正值和负值,因此,我不能在之后分配负号。

提前致谢, 阿兰

【问题讨论】:

标签: r nan


【解决方案1】:

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

> (-5.718301)^2.85
[1] NaN

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

当你评估成功时

-5.718301^2.85

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

-(5.718301^2.85)

当然这是定义明确的。

【讨论】:

  • 很好的解释,+1。请注意,您可以评估as.complex(-5.718301)^2.85,它给出-128.2602+65.3518i
猜你喜欢
  • 1970-01-01
  • 2017-03-07
  • 2017-08-17
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多