odd behavior of numeric()
numeric(0.2*25)
[1] 0 0 0 0 0
numeric((1-0.8)*25)
[1] 0 0 0 0
print(c(0.2*25, (1-0.8)*25), digits=17)
[1] 5.0000000000000000 4.9999999999999991
0.2*25 - (1-0.8)*25
[1] 8.881784e-16
as.integer(c(0.2*25, (1-0.8)*25), digits=17)
[1] 5 4
## See FAQ 7.31 for other examples of floating point behavior
On Wed, Apr 27, 2016 at 3:29 PM, Scott Rifkin <sarifkin at ucsd.edu> wrote:
Why does:
numeric(0.2*25)
return [1] 0 0 0 0 0 but
numeric((1-0.8)*25)
returns [1] 0 0 0 0 [running version 3.2.0] [Apologies if this has been asked before - it's a hard question to find specific search terms for] Thanks, Scott
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.