NULL
является объектом «нулевой длины», поэтому любое поэлементное сравнение или операция с NULL
будет иметь нулевую длину: logical(0)
представляет логический вектор нулевой длины.identical()
может оказаться полезным: identical(NULL,NULL)
- ИСТИНА, identical(NULL,NA)
- ЛОЖЬ.Также см. ?is.null
, ?is.na
для проверки специальных значений NA
и NULL
.
См. Также: Сравните значение со значением NULL.Почему это так?
@ Дейсон указывает, что ==
выполняет поэлементное сравнение;когда вы выполняете поэлементные операции над векторами двух разных длин, R обычно «перезаписывает» более короткий вектор, чтобы он был равен длине более длинному (с предупреждением, если длины не делятся равномерно), но определением языка R говорит
Начиная с R 1.4.0, любая арифметическая операция с вектором нулевой длины имеет результат нулевой длины.