将向量置于小数幂时计算结果时遇到问题。问题更具体地说,向量中的负数以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
任何人都可以向我解释为什么会这样吗?任何方式呢?有问题的向量可能有正值和负值,因此,我不能在之后指定负号。
提前致谢, 阿兰
答案 0 :(得分:4)
(-5.718301)^2.85
没有真正有价值的解决方案,因此NaN
是正确答案。
> (-5.718301)^2.85
[1] NaN
你在这里尝试的东西类似于要求负数的平方根。
成功评估后
-5.718301^2.85
运算符的优先级意味着这相当于
-(5.718301^2.85)
当然这是明确定义的。