[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