Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики - страница 10

Шрифт
Интервал


Логические векторы генерируются условиями. Например:

> temp <– x> 13

устанавливает 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.

> z <– c (1:3,NA); ind <– is.na (z)

Заметим, что логическое выражение x == NA очень отличается от is.na (x), так как NA не действительно значение, а маркер для количества, которое не доступно. Таким образом, x == NA – вектор одинаковой длины с x, все значения которого равны NA, поскольку само логическое выражение является неполным и, следовательно, неразрешимым.

Заметим, что существует второй вид «пропущенного» значения, которое произведено числовым вычислением, так называемое значение «Не Число» – NaN. Пример:

> 0/0

или

> Inf – Inf

который оба дают NaN, так как результат не может быть определен заметно.

В итоге, is.na (xx) равно TRUE и для NA и для значения NaN. При дифференцировании их, is.nan (xx) равно TRUE только для NaN.

Отсутствующие значения иногда печатаются как , когда символьные векторы напечатаны без кавычек.

2.6. Векторы символов

Символьные количества и символьные векторы часто используются в