[R] indexing operation based upon a sequence

J. Braeken J.Braeken at uvt.nl
Thu Feb 7 17:41:49 CET 2013


Dear R-list,


We stumbled upon some weird problem when performing a simple indexing operation.
Below some example code to illustrate the issue

#FAILS TO FIND .55 Oo
huh1 = seq(.1,.7,.15);huh1
# [1] 0.10 0.25 0.40 0.55 0.70
huh1 == .25
# [1] FALSE  TRUE FALSE FALSE FALSE
huh1 == .55
# [1] FALSE FALSE FALSE FALSE FALSE
huh1 == "0.55"
# [1] FALSE FALSE FALSE  TRUE FALSE

Hence somehow one element in the sequence has become a character?

#DOES NOT FAIL TO FIND .55
huh2 = c(.1,.25,.4,.55,.7);huh3
# [1] 0.10 0.25 0.40 0.55 0.70
huh2 == .25
# FALSE  TRUE FALSE FALSE FALSE
huh2 == .55
# [1] FALSE FALSE FALSE  TRUE FALSE

This is what you would expect.

#DOES NOT FAIL TO FIND .55 
huh3 = seq(.1,.7,.05);huh2
# [1] 0.10 0.25 0.40 0.55 0.70
huh3 == .25
# [1] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
huh3 == .55
# [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE

Strangely when making a longer sequence, the weird behavior does not persist.


Does anyone have a clue what is going on here?


               _                            
platform       i386-pc-mingw32              
version.string R version 2.12.1 (2010-12-16)


Best regards,


Johan



More information about the R-help mailing list