R bug(?)在函数x ^ 0.88中返回NaN但不是每手

JBJ*_*JBJ 0 r function

我正在使用R 3.2.3并且会发生这种情况:函数返回NaN但手动相同的代码返回正确的结果.

有人可以向我解释这种行为吗?

func <- function(x)
{
    return(x^0.88)
}
func(-1) # [1] NaN

-1^0.88 # [1] -1
Run Code Online (Sandbox Code Playgroud)

Hon*_*Ooi 5

-1^0.88解析为-(1^0.88).那应该是(-1)^0.88匹配功能.

请参阅?SyntaxR中的运算符优先级