Integrate(dnorm) with different mean and standard deviation help
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