[R] Bug or just a problem with the computer precision?
Peter Dalgaard
P.Dalgaard at biostat.ku.dk
Thu Oct 4 15:26:44 CEST 2007
jim holtman wrote:
> You are getting round-off problems (I think it is FAQ 7.33). Use
> characters since thats what the numbers really are. Convert the
> characters and then use substring. Also sprintf works:
>
>
>> sprintf("%.2f", A*100)
>>
> [1] "470990.00"
>
>> sprintf("%.2f", A)
>>
> [1] "4709.90"
>
>
>
If sprintf works, so does round(A,2) and I suspect there was a reason
not to use that (what is the result for 4709.8967 supposed to be?).
It might be better to use a small amount of fuzz:
floor(A *100+1e-10)/100
Or, as indicated: If these are really strings, treat them as such:
> A<-"4709.9000"
> substr(A,1,7)
[1] "4709.90"
> On 10/4/07, Renger van Nieuwkoop <renger at ecoplan.ch> wrote:
>
>> Hi
>>
>> I have the following problem: I have a lot of numbers that identify
>> import goods according to the Harmonised System (8 numbers in two groups
>> with a dot in between). I want to move to the
>> 6 numbers (4 numbers, dot, two numbers). My trick to do this works for
>> all the numbers in the Harmonised Sytem but not for this one:
>>
>> A<-4709.9000
>> (A<-floor(100 * A ) / 100) = 4709.89
>>
>> But this has to be 4709.90
>>
>> If I do this in Excel it works fine...Any idea how to make sure that I
>> get 4709.90 and not 4709.89?
>>
>> Renger
>>
>>
>>
>> _________________________________________________
>>
>> ECOPLAN
>> Forschung und Beratung in Wirtschaft und Politik
>> Economic Research and Policy Consultancy
>>
>> Thunstrasse 22 / CH-3005 Berne (Switzerland)
>> Phone: +41 31 356 61 61 / Fax: +41 31 356 61 60
>> mailto:renger at ecoplan.ch / http://www.ecoplan.ch>
>>
>> ______________________________________________
>> R-help at 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.
>>
>>
>
>
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list