Hi

> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-bounces@r-
> project.org] On Behalf Of Andrea Gonnermann
> Sent: Tuesday, September 11, 2012 4:24 PM
> To: r-help@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?

Because you are probably using computer. Some fractional decimal numbers cannot 
be expressed as binary finite precision numbers. You can round your result to 
get 0. BTW it is covered in FAQ 7.31 (I believe)

Regards
Petr

> 
> Thank you very much for your help!
> 
> ______________________________________________
> 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.

______________________________________________
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.

Reply via email to