Hi,

You need to be careful with -Inf and Inf in R, I suppose they are some large 
numbers arbitrarily chosen by R, but not infinite quantities. So the function 
integrate can return errors if the function to integrate doesn't have 
negligible values beyond those large numbers.
I ran the following to convince myself:

> integrate(function(x){return(ifelse(x<500,0,1/(x^2)))},-Inf,Inf)
0 with absolute error < 0
> integrate(function(x){return(ifelse(x<500,0,1/(x^2)))},500,Inf)
0.001999999 with absolute error < 0.000011

The second result shouldn't be greater that the first one but...

And to solve your problem:
> integrate(function(x) dnorm(x, 500,50), 500-1000, 500+1000)
1 with absolute error < 0.000074

I centred the interval of integration on 500 instead of on 0 if you integrate 
between -Inf and Inf.

HTH,

Samuel

-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Doran, Harold
Sent: 02 December 2010 21:22
To: [email protected]
Subject: [R] Integral of PDF

The integral of any probability density from -Inf to Inf should equal 1, 
correct? I don't understand last result below.

> integrate(function(x) dnorm(x, 0,1), -Inf, Inf)
1 with absolute error < 9.4e-05

> integrate(function(x) dnorm(x, 100,10), -Inf, Inf)
1 with absolute error < 0.00012

> integrate(function(x) dnorm(x, 500,50), -Inf, Inf)
8.410947e-11 with absolute error < 1.6e-10

> all.equal(integrate(function(x) dnorm(x, 500,50), -Inf, Inf)$value, 0)
[1] TRUE

> sessionInfo()
R version 2.10.1 (2009-12-14)
i386-pc-mingw32

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] statmod_1.4.6      mlmRev_0.99875-1   lme4_0.999375-35   Matrix_0.999375-33 
lattice_0.17-26

loaded via a namespace (and not attached):
[1] grid_2.10.1   nlme_3.1-96   stats4_2.10.1 tools_2.10.1

        [[alternative HTML version deleted]]

______________________________________________
[email protected] 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.


__________ Information from ESET NOD32 Antivirus, version of virus signature 
database 5668 (20101202) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



__________ Information from ESET NOD32 Antivirus, version of virus signature 
database 5669 (20101203) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

______________________________________________
[email protected] 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.

Reply via email to