On Nov 28, 2010, at 4:43 PM, David Winsemius wrote:
On Nov 28, 2010, at 4:20 PM, Cory Rieth wrote:
Hello!
I stumbled upon something odd that took a while to track down, and
I wanted to run it by here to see if I should submit a bug report.
For randomly generated numbers (from a variety of distributions)
rounding them to specifically 2 digits and then multiplying them by
100 produces strange results on about 8% of cases. The problematic
numbers display as I would have expected, but do not logically
match the as.integer counterpart (additionally they will not be
used correctly by functions such as rep()). I realize there are
easy workarounds, but I wouldn't have expected this result, and it
only occurs rounding to 2 decimals, i.e. changing digits to 3 and
multiplying by 1000 after rounding gives the expected result.
x<-runif(100) #generate some random numbers
y<-round(x,digits=2)*100 #round them all to two decimals, then
multiply them all by 100. I expected the results to all be integers
sum(y!=as.integer(y)) #but on about 8% of the numbers they do not
match the integer version
x[which(y!=as.integer(y))] # a list of the problem numbers from the
original distribution. They seem to be more common but not
exclusive to .54 to .57
y[which(y!=as.integer(y))] #the numbers still display as would be
expected, i.e. they are integers
as.integer(y[which(y!=as.integer(y))]) # and sometimes display as
the same number they are not logically identical to
Thanks, and sorry if I came across something that is known, or it
is meant to behave this way, I couldn't find anything.
It's one of the FAQ and probably the most F-ly of the FAQ's. #21 or
#31 if I remember
(vaguely) ... the one about why seq(0.1, 1, by=0.1) == (1:11)/10
returns 2 FALSE's.
er, make that /..... ^(1:10)^
--
David.
Cory Rieth
R.version() output:
platform x86_64-apple-darwin9.8.0
arch x86_64
os darwin9.8.0
system x86_64, darwin9.8.0
status
major 2
minor 12.0
year 2010
month 10
day 15
svn rev 53317
language R
version.string R version 2.12.0 (2010-10-15)
______________________________________________
R-help@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.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@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.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@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.