Will, I'm wondering if you have any insights after looking at the cor.test source code. It seems to be fine to me, as the p value is either calculated by "your first method" or a .C code.
...Tao ----- Original Message ---- > From: Will Eagle <will.ea...@gmx.net> > To: r-help@r-project.org > Sent: Wed, May 19, 2010 3:31:26 PM > Subject: Re: [R] p-values < 2.2e-16 not reported > > Dear all, thanks for your feedback so far. With the help of a colleague I > think I found the solution to my problem: > > pt(10,100,lower=FALSE) [1] 4.950844e-17 IS *NOT* EQUAL TO > > 1-pt(10,100,lower=TRUE) [1] 0 This means that R is capable of > providing p-values < 2.2e-16, however, if the value is used in a substraction > or addition then the default value of the machine epsilon .Machine$double.eps > = 2.220446e-16 is applied. This causes that all p-values smaller than this > threshold are set to zero. This problem applies also to other distribution > functions like pnorm() and others. For your information I would also like to > quote the relevant part of the R manual on .Machine$double.eps: "the smallest > positive floating-point number x such that 1 + x != 1. It equals > base^ulp.digits > if either base is 2 or rounding is 0; otherwise, it is (base^ulp.digits)/ > 2. Normally 2.220446e-16." Although different opinions were > expressed on whether it makes sense to differentiate p-values below the > machine > epsilon, in my opinion different effect sizes should correspond with > different > p-values when reporting statistical results. Additionally, in certain > scientific > fields, eg genetics, where usually many tests are performed and simple > methods, > eg Bonferroni method, are used to adjust for multiple testing, it is > important > to know the exact size of the p-value. Therefore, I would like to suggest > that operations of the 2nd variant (ie 1-pt(10,100,lower=TRUE)) should be > deprecated to calculate p-values and operations of the 1st variant (ie > pt(10,100,lower=FALSE)) should be used instead. Since I have seen the 2nd > variant being frequently used (also by very experienced R users) and I assume > that it is hidden in many statistical test functions, eg cor.test(), this > issue > seems to me quite important. Best > regards, Will ______________________________________________ > ymailto="mailto:R-help@r-project.org" > href="mailto:R-help@r-project.org">R-help@r-project.org mailing list > href="https://stat.ethz.ch/mailman/listinfo/r-help" target=_blank > >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@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.