[R] integer overflow error problem
Robin Hankin
r.hankin at auckland.ac.nz
Mon Mar 31 22:47:41 CEST 2003
Hi everyone
As many people pointed out, R is behaving as documented. The issue
was that a:b has storage mode integer if a is (numerically) equal to
an integer. Thus:
R> storage.mode(as.double(1.0):3)
[1] "integer"
But
R> storage.mode(as.double(1.1):3)
[1] "double"
R> storage.mode(1)
[1] "double"
R>
as documented under help(":").
Now _why_ does colon have this behaviour, when it seems that very few
other functions return integers; help(":") gives no clue to the
motivation. Splus does the same thing (apparently), so there must be
some rationale. What is it?
Also, it would appear, both "if(2+2==4)" and "(1:10)==4" are
inadvisable, because in both cases, at least one side of the "==" is a
double. How do I get round this?
cheers
rksh
--
Robin Hankin, Lecturer,
School of Geography and Environmental Science
Tamaki Campus
Private Bag 92019 Auckland
New Zealand
r.hankin at auckland.ac.nz
tel 0064-9-373-7599 x6820; FAX 0064-9-373-7042
More information about the R-help
mailing list