[R] Integrate(dnorm) with different mean and standard deviation help

R. Michael Weylandt michael.weylandt at gmail.com
Thu Jul 26 19:16:19 CEST 2012


I might suggest:

integrate(dnorm, lower = -1.96 + 2 , upper = 1.96 + 2, mean = 2, sd = 1)

instead.

Incidentally, (and since I find this treatment of ... somewhat opaque)
I think anonymous first class functions are much easier:

integrate(function(x) dnorm(x, mean = 2, sd = 1), lower = -1.96, upper = 1.96)

and I don't think you're any worse for performance.

Best,
Michael

On Thu, Jul 26, 2012 at 12:06 PM, FJ M <chicagobrownblue at hotmail.com> wrote:
>
> It would be a useful additon to the help page to add
>
> integrate(dnorm, lower = -1.96, upper = 1.96, mean = 2, sd = 1)
>
> as an example.
>
> Thanks,
>
> Frank
> Chicago
>
>
>> Date: Mon, 23 Jul 2012 19:54:45 -0700
>> From: ehlers at ucalgary.ca
>> To: kridox at ymail.com
>> CC: chicagobrownblue at hotmail.com; r-help at r-project.org
>> Subject: Re: [R] Integrate(dnorm) with different mean and standard deviation help
>>
>> On 2012-07-23 19:48, Pascal Oettli wrote:
>> > Hello,
>> >
>> > Maybe the following could help:
>> >
>> > > f <- function(x) dnorm(x, mean=2, sd=1)
>> > > integrate(f, -1.96, 1.96)
>> > 0.4840091 with absolute error < 1.4e-12
>>
>> Or you could note the '...' argument indicated on the help page:
>>
>> integrate(dnorm, lower = -1.96, upper = 1.96,
>> mean = 2, sd = 1)
>>
>> Peter Ehlers
>>
>> >
>> > HTH
>> >
>> > Regards.
>> >
>> >
>> > Le 24/07/2012 11:23, FJ M a écrit :
>> >>
>> >> I'm trying to provide different parameters to the integrate function for various probability functions. I'm using dnorm as the simplest example here. For instance integrate(dnorm, -1.96, 1.96) produces the correct answer for a normal distribution with mean 0 and standard deviation 1. I've tried two ways to use mean=2.0 and standard deviation 1, but with no luck. The examples follow.
>> >>
>> >>
>> >>> integrate(dnorm, -1.96, 1.96)
>> >> 0.9500042 with absolute error < 1e-11
>> >>> mean = 2.0
>> >>> sd = 1.0
>> >>> integrate(dnorm, -1.96, 1.96)
>> >> 0.9500042 with absolute error < 1e-11
>> >>> integrate(dnorm(mean=2.0,sd=1.0), -1.96, 1.96)
>> >> Error in .Internal(dnorm(x, mean, sd, log)) : 'x' is missing
>> >> Calls: integrate -> match.fun -> dnorm
>> >> Execution halted
>> >>
>> >> How do I change the built in mean=0 and standard deviation=1 for dnorm using integrate?
>> >>
>> >> Thanks,
>> >>
>> >> Frank
>> >> Chicago, IL
>> >> [[alternative HTML version deleted]]
>> >>
>> >> ______________________________________________
>> >> R-help at 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.
>> >>
>> >
>> > ______________________________________________
>> > R-help at 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.
>> >
>>
>
>         [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list