Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики - страница 5
Так же как числовые векторы, R позволяет манипулирование логическими величинами. У элементов логического вектора могут быть значение TRUE, FALSE, и NA (для «не доступно», см. ниже). Первые два часто сокращаются как T и F, соответственно. Заметим, однако, что T и F – только переменные, которые установлены в TRUE и FALSE по умолчанию, но не зарезервированные слова и, следовательно, могут быть перезаписаны пользователем. Следовательно, следует всегда использовать TRUE и FALSE.
Логические векторы генерируются условиями. Например:
устанавливает temp как вектор одинаковой длины как x со значением FALSE, соответствующих тем элементам x, где условие не соблюдается, и TRUE, где имеет место.
Логическими операторами являются <, <=,>,> =, == для точного равенства и!= для неравенства. Кроме того, если c1 и c2 – логические выражения, то c1&c2 – их пересечение («и»), c1|c2 – их объединение («или»), и!c1 – отрицание c1.
Логические векторы могут использоваться в обычной арифметике, в том случае они преобразуются в числовые векторы, FALSE равно 0 и TRUE равно 1. Однако есть ситуации, где логические векторы и их преобразованные числовые дубликаты не эквивалентны, например см. следующий подраздел.
2.5. Пропущенные значения
В некоторых случаях компоненты вектора не могут быть полностью известны. Когда элемент или значение «не доступно» или «отсутствует значение» в статистическом смысле, место в пределах вектора может быть зарезервировано, присваивая ему специальное значение NA. Вообще любое действие с NA дает NA. Обоснование этого правила просто состоит в том, что, если спецификация действия является неполной, то результат не может быть известен и, следовательно, не доступен.
Функция is.na (x) дает логический вектор одинакового размера с x со значением TRUE, если и только если соответствующий элемент в x равен NA.
Заметим, что логическое выражение x == NA очень отличается от is.na (x), так как NA не действительно значение, а маркер для количества, которое не доступно. Таким образом, x == NA – вектор одинаковой длины с x, все значения которого равны NA, поскольку само логическое выражение является неполным и, следовательно, неразрешимым.
Заметим, что существует второй вид «пропущенного» значения, которое произведено числовым вычислением, так называемое значение «Не Число» – NaN. Пример:
или
который оба дают NaN, так как результат не может быть определен заметно.
В итоге, is.na (xx) равно TRUE и для NA и для значения NaN. При дифференцировании их, is.nan (xx) равно TRUE только для NaN.
Отсутствующие значения иногда печатаются как
2.6. Векторы символов
Символьные количества и символьные векторы часто используются в R, например, как метки рисунка. Где необходимо они обозначены последовательностью символов, разграниченных символом двойной кавычки, например, «x-значением», «Новая итерация заканчивается».
Символьные строки вводятся, используя любые двойные (») или одинарные (») кавычки, но напечатаны, используя двойные кавычки (или иногда без кавычек). Они используют escape-последовательности C-стиля, используя \, поскольку символ ESC, таким образом, \\вводится и печатается как \\, и в двойных кавычках, «вводится как \». Другие полезные escape-последовательности: \n