Hi Everyone, as part of a larger script, I need to insert the result of a simple minus operation into an if statement.
I have noticed that the precision that appear on the screen is not the precision in which R stores the result of the minus operation, and that this change alters the result of the if statement. For example, when running this simple script: > a=0.90 > b=0.95 > c=b-a > e=paste(c) > if(c==0.05) d=12 I get: > c [1] 0.05 > d Error: object 'd' not found > e [1] "0.0499999999999999" Although I have solved it by changing the command for c to: > c=round((b-a),15) I do not understand the source of this mistake and how it can be avoided in the future Many thanks and sorry for this very basic question... Yoni Gavish Department of Life Sciences, Ben-Gurion University of the Negev, POB 653, Beer Sheva, 84105 ISRAEL Tel: 972-77-6450238 (home), 972-50-9930553 (mobile) [[alternative HTML version deleted]]
______________________________________________ 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.