Предположим, у меня есть следующий кадр данных:Номер находится между двумя колоннами кадра данных
df <- data.frame(c(1, 2, 1, 5), c(12, 8, 5, 11))
names(df) <- c('x', 'y')
df
x y
1 1 12
2 2 8
3 1 5
4 5 11
У меня есть несколько, скажем 11
. Для каждой строки мне нужен вектор, который сгенерирован таким образом, что если выдается x <= 11 <= y
, TRUE
. В этом случае
[1] TRUE FALSE FALSE TRUE
- желаемый выход.
Существует очевидный способ сделать это: петли. Но, насколько я знаю, люди, которые хороши в R
ненавижу for
петли. Есть ли способ сделать это, не используя for
? Я думал о том, возможно, используя apply
, но я не знаю, как включить двойное неравенство для аргумента FUN
.
Вам нужен '&' оператор т.е. 'с (Д.Ф., х <= 11 & 11 <= у)' ' – akrun
@ akrun Спасибо, не стесняйтесь публиковать это как ответ, и я могу присуждать баллы! Я не очень хорошо знаком с 'with', и это было проблемой. – Clarinetist
@Clarinetist Все в порядке. Вы можете опубликовать это как ответ с некоторыми пояснениями. – akrun