Оценка condition
привела к NA
.Условие if
должно иметь либо результат TRUE
, либо FALSE
.
if (NA) {}
## Error in if (NA) { : missing value where TRUE/FALSE needed
Это может произойти случайно в результате вычислений:
if(TRUE && sqrt(-1)) {}
## Error in if (TRUE && sqrt(-1)) { : missing value where TRUE/FALSE needed
Чтобы проверить, отсутствует ли объект, используйте is.na(x)
вместоx == NA
.
См. Также связанные ошибки:
Ошибка в if / while (условие) {: аргумент имеет нулевую длину
Ошибка в if / while (условие): аргумент не интерпретируется как логический
if (NULL) {}
## Error in if (NULL) { : argument is of length zero
if ("not logical") {}
## Error: argument is not interpretable as logical
if (c(TRUE, FALSE)) {}
## Warning message:
## the condition has length > 1 and only the first element will be used