Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R表达导致NaN无明显原因_R_Expression_Nan_Equation - Fatal编程技术网

R表达导致NaN无明显原因

R表达导致NaN无明显原因,r,expression,nan,equation,R,Expression,Nan,Equation,怎么会是这样的表达呢 > (exp(17.118708 + 4.491715 * -2)/-67.421587)^(-67.421587) 导致 [1] NaN [1] NaN 当 基本上应该有相同的结果,给我 [1] -1.238487e-115 这让我抓狂,我花了几个小时寻找错误。在这种情况下,“-2”是函数的一个参数。我真的想不出解决办法。谢谢你的帮助 编辑: 我看到当我加上括号时 > (-50.61828)^(-67.421587) 它还导致 [1] NaN [1

怎么会是这样的表达呢

> (exp(17.118708 + 4.491715 * -2)/-67.421587)^(-67.421587)
导致

[1] NaN
[1] NaN

基本上应该有相同的结果,给我

[1] -1.238487e-115
这让我抓狂,我花了几个小时寻找错误。在这种情况下,“-2”是函数的一个参数。我真的想不出解决办法。谢谢你的帮助

编辑:

我看到当我加上括号时

> (-50.61828)^(-67.421587)
它还导致

[1] NaN
[1] NaN

…但这并不能解决我的问题。

据我所知,
-50.61828^(-67.421587)
的评估结果为
-(50.61828^(-67.421587))
(-50.61828)^(-67.421587)
也会导致NaN。

这是因为C99标准下实施了
pow

更不用说OP的例子了:
(-50.61828)^(-67.421587)
,数学上合理的
(-8)^(1/3)=-2在R:

(-8)^(1/3)
# [1] NaN
引用自
?“^”

我使用的是Ubuntu LINUX,因此可以在此处打印
man power
的相关部分:

   If x is a finite value less than 0, and y is  a  finite  noninteger,  a
   domain error occurs, and a NaN is returned.

@warmoverflow,你是对的,我复制了错误的代码。我编辑了这个问题。祝你好运。看我编辑的问题,我复制了错误的值,然而,你是对的。但是为什么结果仍然是NaN?当
x
y
都是阴性和非整数时,你如何定义
x^y
?那么为什么(-10)^(-60)会导致1e-60?啊,我明白了。事实上,这是很明显的。该函数只是没有为特定范围定义。