计算R束误差中的定积分

时间:2017-08-28 22:05:41

标签: r integral

我试图计算下面的积分,即积分内部有一个积分。

integrate(function(v){
  integrate(function(s){
    pnorm(qnorm(v)-qnorm(s))
  },0,1)$value
},0,1)

不幸的是我一直得到:

Error in integrate(function(v) { : 
  evaluation of function gave a result of wrong length

或:

 Error in integrate(function(s) { : maximum number of subdivisions reached 

1 个答案:

答案 0 :(得分:0)

错误,因为integrate需要矢量化函数。解决方法是在上部函数周围使用Vectorize

integrate(Vectorize(function(v){
  integrate(function(s){
    pnorm(qnorm(v)-qnorm(s))
  },0,1)$value
}),0,1)

## 0.5 with absolute error < 5.6e-15