为什么将负值向量求分数次幂会得到 NaN

Lea*_*ple 3 r vector nan exponential

如果我生成一个值向量,其中一些为负值:

d <- rnorm(1000, 4, 10)
z <- sapply(d, function(x) x^1.2)
Run Code Online (Sandbox Code Playgroud)

z将包含实际值和 s 的混合NaN。向量中最初为负的任何值都将为NaN

为什么是这样?我该如何修复它?

Tho*_*ing 5

您应该使用complex数字,如下所示

(d + 0i)^1.2
Run Code Online (Sandbox Code Playgroud)