На странице справки для Logical Operators
, доступной по ?"&&"
:
& и && указывают логическое И и |и ||указать логическое ИЛИ.Более короткая форма выполняет поэлементное сравнение во многом так же, как арифметические операторы.Более длинная форма оценивает слева направо, рассматривая только первый элемент каждого вектора.Оценка продолжается только до определения результата.Более длинная форма подходит для программирования потока управления и обычно предпочтительна в предложениях if.
(версия R 2.13-0)
Другими словами, когдаиспользуя subset
, используйте единственный &
.
Вот иллюстрация различия:
c(1,1,0,0) & c(1,0,1,0)
[1] TRUE FALSE FALSE FALSE
c(1,1,0,0) && c(1,0,1,0)
[1] TRUE
Если это выглядит странно по сравнению с другими парадигмами программирования, помните, чтоR должен предоставить векторизованную форму оператора.