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" <[EMAIL PROTECTED]> To: "Xuejun Qin" <[EMAIL PROTECTED]> Cc: <r-help@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 > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > > ______________________________________________ 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.