如何在pnorm的Standard Deviation参数中包含函数

时间:2019-07-03 15:10:55

标签: r

我想使用pnorm创建函数a(v,x),但pnorm的标准偏差取决于x。 R返回错误:数学函数的非数字参数。

我对R还是很陌生,所以我真的不知道该如何处理该问题,但是我没有在其他地方找到任何答案。

x0 = 6
R = 5 
r = 2
p=0.5
sig = 5
sigR <- function(x){ sig*(x - r)*sqrt(p*(1-p))}

a <- function(v,x) {
 pnorm(v + p*(x0-x) + (1-p)*(R-r), sd = sigR)
  }

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

由于sigRx的一个函数,因此您需要将x的值传递给该函数以获取常量。 sd=参数需要一个数字值,而不是一个函数。

a <- function(v,x) {
 pnorm(v + p*(x0-x) + (1-p)*(R-r), sd = sigR(x))
}