по электронной почте Ой. Вы пытаетесь выполнить точное сопоставление на компьютере, который не может точно представить все числа.
> any(209.73 == seq(200,210,.01))
[1] TRUE
> any(209.73 == seq(150,210,.01))
[1] FALSE
> any(209.73 == zapsmall(seq(150,210,.01)))
[1] TRUE
Причина расхождения во второй последовательности, значение в последовательности: , а не точно 209.73
. Это то, что вы должны оценить при выполнении вычислений с компьютерами.
Это рассматривается во многих местах в сети, но в отношении R см. пункт 7.31 в R FAQ.
Во всяком случае, тем не менее, вы говорите о проблеме неправильно. Вы хотите использовать правильные числовые операторы:
my.data[my.data$V3 >= 150 & my.data$V3 <= 210, ]
## or
subset(my.data, V3 >= 150 & V3 <= 210)