# [R] Integral of function of dnorm

Peter Ehlers ehlers at ucalgary.ca
Thu Feb 11 18:56:32 CET 2010

```Here's another suggestion: evaluate

-0.5 * (log(2 * pi) + 1)  ## -1.418939

Or you can do the integral:

f <- function(x, mu = 8, s = 1){
dnorm(x, mu, s) * log(dnorm(x, mu, s))}

integrate(f, lower = -2, upper = 18)
#-1.418939 with absolute error < 2.8e-10

Try other values for lower= and upper= and see
if you can understand why -Inf, Inf won't work.

You can also plot your function with, e.g.

curve(f, 7, 9)

-Peter Ehlers

Charles Annis, P.E. wrote:
> Here's a suggestion:  Plot the function:
>
> x <- seq(3, 13, length=101)
> plot(x, y=dnorm(x, mean=8,sd=1)*log(dnorm(x,mean=8,sd=1)))
>
> x <- seq(7.5, 8.5, length=101)
> plot(x, y=dnorm(x, mean=8,sd=1)*log(dnorm(x,mean=8,sd=1)))
>
> x <- seq(7.9, 8.1, length=101)
> plot(x, y=dnorm(x, mean=8,sd=1)*log(dnorm(x,mean=8,sd=1)))
>
> This suggests to me that you can integrate over restricted domains of x, and
> sum the intermediate results.
>
>
> Charles Annis, P.E.
>
> Charles.Annis at StatisticalEngineering.com
> 561-352-9699
> http://www.StatisticalEngineering.com
>
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
> Behalf Of Trafim Vanishek
> Sent: Thursday, February 11, 2010 11:49 AM
> To: Peter Dalgaard
> Cc: r-help at r-project.org
> Subject: Re: [R] Integral of function of dnorm
>
> This is exactly what I mean.
>
> I need to find integrate(dnorm(mean=8,sd=1)*log(dnorm(mean=8,sd=1)), -Inf,
> Inf)
>
> Which doesn't work like that, because it says:
> Error in dnorm(mean = 8, sd = 1) : element 1 is empty;
>    the part of the args list of '.Internal' being evaluated was:
>    (x, mean, sd, log)
>
> So how can I define x?
> THanks a lot
>
>
>>  Dear all,
>>> How is it possible in R to calculate the following integral:
>>> Integral(-Inf, Inf)[log(dnorm(mean = 3, sd = 1))]
>>>
>>> how can I define that the density dnorm is taken on (-Inf, Inf)
>>>
>>> Thanks a lot!
>>>
>> Er, if you mean integral with respect to the x argument in dnorm, then the
> both
>> directions. If you meant otherwise, please tell us what you meant...
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help