[Rd] dput()

David Winsemius dw|n@em|u@ @end|ng |rom comc@@t@net
Sat Feb 29 10:09:36 CET 2020


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 using 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 using 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 using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list