[R] problem with "which"

David Winsemius dwinsemius at comcast.net
Thu Apr 24 06:02:02 CEST 2008


Melanie Abecassis <Melanie.Abecassis at noaa.gov> wrote in
news:481002B0.3080704 at noaa.gov: 

> Hi,
> I'm having trouble with the "which" or the "seq" function, I'm not
> sure. Here's an example :
> 
> 
> > lat=seq(1,2,by=0.1)
> > lat
>  [1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
> 
> > which(lat==1)
> [1] 1
> > which(lat==1.1)
snip
> [1] 7
> > which(lat==1.7)
> *integer(0)*
> This doesn't seem to happen with integers.
> Am I missing something ?? Is there a better function for
> non-integers ? 

Read the FAQ 
(Section 7.31 Why doesn't R think these numbers are equal?
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f

and look at this:
> lat - 1.7
 [1] -7.000000e-01 -6.000000e-01 -5.000000e-01 -4.000000e-01
 [5] -3.000000e-01 -2.000000e-01 -1.000000e-01  2.220446e-16
 [9]  1.000000e-01  2.000000e-01  3.000000e-01

-- 
David Winsemius



More information about the R-help mailing list