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