[R] R calculates small numbers, where the result should be zero

S Ellison S.Ellison at LGCGroup.com
Tue Sep 11 16:51:04 CEST 2012


See R Faq (http://cran.r-project.org/doc/FAQ/R-FAQ.html) with particular attention to FAQs 7.31 and 9.1 paragraph 3.

Essentially, computational precision is finite.

S Ellison


> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Andrea Gonnermann
> Sent: 11 September 2012 15:24
> To: r-help at r-project.org
> Subject: [R] R calculates small numbers, where the result 
> should be zero
> 
> Hi all,
> 
> my problem is that R does wrong calculations, when the result 
> should be zero.
> I have the following code:
> 
>  RD_Var1 <- ((0.1*(1-0.1))/100)+((0.2*(1-0.2))/100)
>  RD_Var2 <- ((0.1*(1-0.1))/100)+((0.2*(1-0.2))/100)
>  RD_1 <- 0.1-0.2
>  RD_1
>  RD_2 <- 0.1-0.2
>  FEM_Eff_RD <- 
> ((1/RD_Var1)*RD_1+(1/RD_Var2)*RD_2)/(1/RD_Var1+1/RD_Var2)
>  Q_RD    <- 
> 1/RD_Var1*((RD_1-FEM_Eff_RD)^2)+1/RD_Var2*((RD_2-FEM_Eff_RD)^2)
>  Q_RD
> My result is:
> 1.540744e-31
> When I put the calculated numbers directly into the last 
> formula, I get zero, which is the correct answer:
> Q_RD    <- 1/0.0025*((-0.1--0.1)^2)+1/0.0025*((-0.1--0.1)^2)
> 
> Why does R calculate the other number instead of zero?
> 
> Thank you very much for your help!
> 
> ______________________________________________
> 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.
> 

*******************************************************************
This email and any attachments are confidential. Any use...{{dropped:8}}




More information about the R-help mailing list