Исправить это легко. Просто переименуйте ваш for
счетчик цикла или столбец фрейма данных во что-то отличное от start
.
Причина, по которой это происходит, заключается в том, что subset
пытается оценить выражение data$start == start
внутри фрейма данных data
. Таким образом, он видит столбец start
и останавливается там, никогда не видя другой переменной start
, которую вы определили в цикле for
.
Возможно, лучшее понимание того, почему R запутывается здесь, это заметить, что при использовании subset
вам вообще не нужно ссылаться на переменные, используя data$
. Итак, представьте себе, говоря R:
subset(data,start == start)
R просто оценит оба этих start
внутри data
и получит вектор всех TRUE
обратно.