> sapply(c(0.05,0.01),function(k){-qnorm(k)})
[1] 1.644854 2.326348
> -sapply(c(0.05,0.01),qnorm)
[1] 1.644854 2.326348

但是以下内容无法运行,为什么-qnorm无法在sapply中运行?

sapply(c(0.05,0.01),-qnorm)
-qnorm中的错误:一元运算符的参数无效

最佳答案

该问题的原因与-qnorm(.)实际上是两个函数的组合有关。首先,您计算qnorm(.),然后计算negative
sapply需要一个单个函数。

当您使用sapply( <..>, -qnorm)R尝试计算“减去函数qnorm”,这对函数没有意义。
(只需输入-qnorm,您将得到相同的错误。)
-qnorm(k)起作用的原因是因为R正在计算qnorm(k)以获取数字,然后取该数字的负数。

同样,sapply(<..>, qnorm)给出一个向量。这就是为什么在其前面添加负号时会得到所需输出的原因。

关于r - 为什么-qnorm无法正常应用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15593934/

10-10 05:15