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

Andrea Gonnermann dreli14 at googlemail.com
Tue Sep 11 17:02:41 CEST 2012


Many,many thanks to all of you and your helpful links!
I actually experineced something similar in SAS and my "research" on
google was not good enough to figure it out! Well, I may just round
the numbers to some digits as proposed
So, thank you again for this fast response!!
Have a nice day :-)
Andrea

On Tue, Sep 11, 2012 at 4:48 PM, PIKAL Petr <petr.pikal at precheza.cz> wrote:
> Hi
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
>> project.org] On Behalf Of Andrea Gonnermann
>> Sent: Tuesday, September 11, 2012 4:24 PM
>> 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?
>
> 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 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.




More information about the R-help mailing list