help for the first poster- a simple question
Thanks for all response. Here is more closer to my question, p<-0.05 f<-0.05 ld<-sqrt(f* (1 - f) * p * (1 - p)) D <- (p * (1 - f) - ld)/p d <- ((1 - p) * f - ld)/(1 - p) haplo<-data.frame(D,d)
haplo
D d 1 -1.387779e-16 -7.304099e-18 cond1<-pmin(haplo[,1],haplo[,2]) haplo[cond1>=0,] But the program cannot get right one, because -1.387779e-16>=0 is FALSE -7.304099e-18>=0 is FALSE Thank you! xj. ----- Original Message ----- From: "Gavin Simpson" <gavin.simpson at ucl.ac.uk> To: "Xuejun Qin" <xjq at chg.duhs.duke.edu> Cc: <r-help at r-project.org> Sent: Monday, March 03, 2008 12:57 PM Subject: Re: [R] help for the first poster- a simple question
On Mon, 2008-03-03 at 12:52 -0500, Xuejun Qin wrote:
Hi, there, I cannot get accurate value for calculation. for example: ld<- 0.05*0.95-ld=-6.938894e-18 0.05*0.95-ld==0 is False. I met this problem in my program, how can I handle it. Thanks.
Answer 1: Read FAQ 7.31 - http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f Answer 2: Use all.equal()
ld<-sqrt(1*0.05*0.95*0.05*0.95) 0.05*0.95-ld
[1] -6.938894e-18
0.05*0.95-ld==0
[1] FALSE
all.equal(0.05*0.95-ld, 0)
[1] TRUE
xj.
HTH G -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%