[R] a problem about integrate function in R .thank you .
andrew
andrewjohnroyal at gmail.com
Fri Oct 23 13:41:05 CEST 2009
I don't seem to get a problem with this. Have you tried a Monte Carlo
approach to verify that you are getting incorrect answers?
For me, I get when the upper is 1 that
> integrate(e2, lower = 0, upper = 1)
-0.2820948 with absolute error < 5e-05
> sum(e2(runif(10000)))/10000
[1] -0.2825667
which seems to be consistent, while for upper = 0.75 I get
> 0.75*sum(e2(runif(10000, min=0, max=0.75)))/10000
[1] -0.2333506
> integrate(e2,lower=0,upper = 0.75)
-0.2341178 with absolute error < 7.8e-05
On Oct 23, 2:52 pm, fuzuo xie <xiefu... at gmail.com> wrote:
> e2 <- function(x) {
> out <- 0*x
> for(i in 1:length(x))
> out[i] <-integrate(function(y) qnorm(y),lower=0,upper=x[i])$value
> out }
> integrate(e2,lower=0, upper=a)$value
>
> above is my code , when a is small , say a<0.45 the result is right .
> however , when a>0.5
> the result is incorrect . why ? thank you .
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-h... at r-project.org mailing listhttps://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list