【问题标题】:Expression calculates correctly, function return NaN [duplicate]表达式计算正确,函数返回 NaN [重复]
【发布时间】:2017-08-30 17:47:59
【问题描述】:

我已经定义了一个函数,它返回 NaN(它不应该):

rf <- function(x,g) x^(1-g)/(1-g) 
rf(-55.45,0.9)
[1] NaN

但如果我手动计算:

-55.45^(1-0.9)/(1-0.9)
[1] -14.94136

我不明白为什么 rf 函数会以某种方式溢出?

编辑:似乎函数只会在 x 小于 0 时失败。

【问题讨论】:

  • 这个(-55.45)^(1-0.9)/(1-0.9) 也提供NaN。你实际上在做的是-(55.45^(1-0.9)/(1-0.9))
  • 我刚刚看到了 ("^") 的帮助文件...我现在看到了错误

标签: r function nan


【解决方案1】:

这就是为什么:

(-55.45)^(1-0.9)/(1-0.9)

表达式确实:

55.45^(1-0.9)/(1-0.9) * (-1)

【讨论】:

    猜你喜欢
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2019-08-30
    • 2021-06-21
    • 2019-12-08
    • 1970-01-01
    • 2012-10-11
    相关资源
    最近更新 更多