> 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/