[R] which() function not finding certain numbers

John Kane jrkrideau at inbox.com
Wed Aug 15 15:29:53 CEST 2012


It looks like an example of FAQ 7.31   Why doesn't R think these numbers are equal?

John Kane
Kingston ON Canada


> -----Original Message-----
> From: tomasbird at gmail.com
> Sent: Wed, 15 Aug 2012 22:37:17 +1000
> To: r-help at r-project.org
> 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.

____________________________________________________________
FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!



More information about the R-help mailing list