(PR#12742) Different result with different order of binding
Thank you for the prompt reply. Do you know why does MS-Excel give result that I expected? Thanks, Kyun-Seop BAE Email: kyunseop.bae at gmail.com -----Original Message----- From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk] Sent: Monday, September 08, 2008 1:53 AM To: kyunseop.bae at gmail.com Cc: R-bugs at r-project.org Subject: Re: [Rd] (PR#12742) Different result with different order of binding FAQ 7.31 strikes again. This is expected: you cannot do exact arithmetic on a binary computer if some of the quantities involved are not binary fractions (e.g. 1.3) See also the warning in ?`==`: identical() is equally inappropiate for computed numerical quantities.
On Mon, 8 Sep 2008, kyunseop.bae at gmail.com wrote:
Full_Name: Kyun-Seop Bae Version: 2.7.2 OS: MS-Windows XP SP2 Submission from: (NULL) (148.168.40.4) # Script that I used rm(list=objects()) objects() WT <- 91 AGE <- 41 SCR <- 1.3 CCL1 <- (140-AGE) * WT / (72 * SCR) CCL2 <- (140-AGE) * WT / 72 / SCR CCL1 CCL2 identical(CCL1, CCL2) identical(CCL1, 96.25) identical(CCL2, 96.25) CCL1*10 + 0.5 CCL2*10 + 0.5 floor(CCL1*10 + 0.5) floor(CCL2*10 + 0.5) as.integer(CCL1*10 + 0.5) as.integer(CCL2*10 + 0.5) # Same with multiplied WT # Same in S-Plus Enterprise Developer Version 7.0.6 for Microsoft Windows
:
2005 # But these are accurate in MS-Excel.
Unlikely, more likely you don't have identical() to test bit-level equality.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595