2017-08-28 1 views
1

Ich versuche, das folgende Integral zu berechnen, d. H. Es gibt ein Integral innerhalb des Integrals.Berechne bestimmtes Integral in R Fehlergruppe

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

Leider ich die ganze Zeit bekommen entweder:

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

oder:

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

Antwort

0

Der Fehler, weil integrate eine vektorisiert Funktion benötigt. Ein Workaround besteht darin, Vectorize um die obere Funktion zu verwenden.

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