casperyc <casperyc <at> hotmail.co.uk> writes: > Is there any other packages to do numerical integration other than the > default 'integrate'? > Basically, I am integrating: > > integrate(function(x) dnorm(x,mu,sigma)/(1+exp(-x)),-Inf,Inf)$value > > The integration is ok provided sigma is >0. > However, when mu=-1.645074 and sigma=17535.26 It stopped working. > On the other hand, Maple gives me a value of 0.5005299403.
Using `integrate()` to integrate from -1e-8 to 1e-8 will give quite a correct result, while integrating from -1e-10 to 1e-10 will return 0. It seems more appropriate to transform the infinite into a finite interval. Function `quadinf` in package pracma does this automatically, applying the `integrate` routine to the finite interval [-1, 1]. library(pracma) quadinf(fun, -Inf, Inf, tol=1e-10) # [1] 0.4999626 I am astonished to see the result from Maple as this does not appear to be correct --- Mathematica, for instance, returns 0.499963. > It is an important line of the coding that I am doing and I am looking for > some package that is able to do numerical integration efficiently (fast and > accurate to a tol=1e-4). I have tried 'cubature', which does not give me > anything even after 10 minutes. > > Thanks. casper ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.