R Language
Логический класс
Поиск…
Вступление
Логический - это режим (и неявный класс) для векторов.
замечания
стенография
TRUE
, FALSE
и NA
- единственные значения для логических векторов; и все три зарезервированные слова. T
и F
могут быть сокращены для TRUE
и FALSE
в чистом сеансе R, но ни T
ни F
не зарезервированы, поэтому присвоение значений, отличных от значений по умолчанию, этим именам может привести к затруднениям пользователей.
Логические операторы
Существует два вида логических операторов: те, которые принимают и возвращают векторы любой длины (элементарные операторы: !
, |
, &
, xor()
) и те, которые оценивают только первый элемент в каждом аргументе ( &&
, ||
). Второй сорт в основном используется как аргумент cond
для функции if
.
Логический оператор | Имея в виду | Синтаксис |
---|---|---|
! | Не | !Икс |
& | элементный (векторизованный) и | x & y |
&& | и (только один элемент) | x && y |
| | элементный (векторизованный) или | x | Y |
|| | или (только один элемент) | x || Y |
исключающее | элементный (векторный) исключающий ИЛИ | XOR (х, у) |
Заметим, что ||
оператор оценивает левое условие, и если левое условие TRUE, правая сторона никогда не оценивается. Это может сэкономить время, если первое является результатом сложной операции. Оператор &&
также возвращает FALSE без оценки второго аргумента, когда первый элемент первого аргумента FALSE.
> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE
Чтобы проверить, является ли значение логическим, вы можете использовать is.logical()
.
принуждение
Чтобы принудительно использовать переменную для логического использования, используйте as.logical()
.
> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE
При применении as.numeric()
к логическому, возвращается double. NA
- логическое значение, а логический оператор с NA
возвращает NA
если результат неоднозначен.
Интерпретация НС
Подробнее см. Отсутствующие значения .
> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA