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

David Winsemius dwinsemius at comcast.net
Fri Jul 27 10:55:25 CEST 2012


On Jul 26, 2012, at 10:06 AM, FJ M 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)

Wouldn't most statisticians instead use the more accurate and  
undoubtedly faster:

     pnorm(1.96, mean=2, sd=1) - pnorm(-1.96, mean=2, sd=1)

... or p_xxx where _xxx is distribution of interest?

(And I do not see that every help page needs a worked example of the  
proper use of the 'dots' argument. That is a basic R lesson and it is  
only by chance that you have needed to learn it in the context of  
integrate(). A large fraction of other functions offer that facility.  
You might review the material you used when learning R to see at what  
point you skimmed over that crucial topic too quickly. )

-- 
David
Alameda.

>
> 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.

David Winsemius, MD
Alameda, CA, USA



More information about the R-help mailing list