[R] integrate a function in R
(Ted Harding)
Ted.Harding at nessie.mcc.ac.uk
Thu Oct 28 09:45:09 CEST 2004
On 27-Oct-04 yyan liu wrote:
> Hi:
> I want to integrate the following function with
> respect to "z", "u" is another argument in the
> function. My program is a loop and in each loop the
> argument "u" will be given a specified numeric values.
> But how can I use the "integrate" function with "u" in
> R?
> The function is:
> zfz<-function(z,u)
> {
> return(z*dnorm(z,u,1) )
> }
>
> And in each loop, the integration interval is [0,u+3].
> I can not just use integrate(zfz,0,u+3) because "u"
> can not be specified.
> Thank you!
If you are only interested in this specific function, then there
is an analytical solution and you do not need numerical integration.
Namely (if I have understood your statement correctly) let (0,Z) be
the limits of integration (in your case Z = u+3); then the integral
is
dnorm(u,0,1) - dnorm(Z-u,0,1) + u*pnorm(Z-u,0,1) - pnorm(-u,0,1)
which, in your case, is
dnorm(u) - dnorm(3) + u*pnorm(3) - pnorm(-u)
(using the default values mu=0 and s=1 for dnorm and pnorm).
Hoping this helps,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861 [NB: New number!]
Date: 28-Oct-04 Time: 08:45:09
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list