> I have a surprising problem while selecting values in a sequence created
> with the seq() function... >... > > test2<-seq(from=0,to=1,by=.1) >... > > test2==0.3 > [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE >... > Does anyones has an explanation and a solution ? I suspect that this is a problem with floating point rounding errors. The values in test2 are not exactly what you requested: format(test2, nsmall=20) #[1] "0.00000000000000000000" "0.10000000000000000555" "0.20000000000000001110" #[4] "0.30000000000000004441" "0.40000000000000002220" "0.50000000000000000000" #[7] "0.60000000000000008882" "0.70000000000000006661" "0.80000000000000004441" #[10] "0.90000000000000002220" "1.00000000000000000000" A workaround is to check that the difference between test2 and the target value is very small: abs(test2 - .3) < .Machine$double.eps # [1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE Regards, Richie. Mathematical Sciences Unit HSL ------------------------------------------------------------------------ ATTENTION: This message contains privileged and confidential inform...{{dropped:20}} ______________________________________________ R-help@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.