[R] which() function not finding certain numbers
arun
smartpink111 at yahoo.com
Wed Aug 15 19:57:34 CEST 2012
HI,
Try this:
S<-as.numeric(formatC(seq(0,4,0.01),digits=3))
which(S==2.02)
#[1] 203
which(S==2.03)
#[1] 204
which(S==3.03)
#[1] 304
which(S==3.3)
#[1] 331
which(S==3.)
#[1] 301
A.K.
----- Original Message -----
From: Tom Bird <tomasbird at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Wednesday, August 15, 2012 8:37 AM
Subject: [R] which() function not finding certain numbers
Hi,
I am using 32-bit R v 2.15.1, on Mac OsX v 10.6.8 with R GUI 1.52 Leopard
build 32-bit (6188). I have also replicated this error on R 2.13.2 on a
windows 7 machine.
In some sequences of numbers, I am unable to use the which() function to
index certain values. It seems to be primarily numbers with a 3 in the
decimal.
For example:
> S=seq(0,4,0.01)
> which(S==2.02)
[1] 203
> which(S==2.03)
integer(0)
> which(S==2.04)
[1] 205
> which(S==2.04)
[1] 205
> which(S==3.03)
integer(0)
> which(S==3.3)
integer(0)
> which(S==3.)
[1] 301
> which(S==3.5)
[1] 351
>
I'm not even sure if this is a bug, or just some misunderstanding of the
seq() or which() functions, but any thoughts would be appreciated.
TB
[[alternative HTML version deleted]]
______________________________________________
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.
More information about the R-help
mailing list