On 2/28/20 11:42 PM, Rui Barradas wrote:
Hello,

FAQ 7.31

See also this StackOverflow post:

https://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal


That was going to be my initial response, but then I realized that the question might be why the dput representation of the x variable didn't display the detail of the decimal fraction out at the 16th or seventeenth place. So here's some further results to chew on:


1 (rather than 0.99999999999999955591) is what would get if `dput` were used to send it to a file:


 dput(x, file="temp.txt")

 x <- scan(file="temp.txt")
#Read 1 item

 x==1
#[1] TRUE

And if you wanted more precision with the value before it got rectified by output/input  you could use the control parameter:


dput(x, control="digits17")
#0.99999999999999956


HTH;

David.


Hope this helps,

Rui Barradas

Às 00:08 de 29/02/20, robin hankin escreveu:
My interpretation of dput.Rd is that dput() gives an exact ASCII form
of the internal representation of an R object.  But:

  rhankin@cuttlefish:~ $ R --version
R version 3.6.2 (2019-12-12) -- "Dark and Stormy Night"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

[snip]

rhankin@cuttlefish:~ $ R --vanilla --quiet
x <- sum(dbinom(0:20,20,0.35))
dput(x)
1
x-1
[1] -4.440892e-16

x==1
[1] FALSE


So, dput(x) gives 1, but x is not equal to 1.  Can anyone advise?

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to