Bu hata iletisini aldım:
Error in if (condition) { : missing value where TRUE/FALSE needed
veya
Error in while (condition) { : missing value where TRUE/FALSE needed
Ne anlama geliyor ve nasıl önleyebilirim?
Bu hata iletisini aldım:
Error in if (condition) { : missing value where TRUE/FALSE needed
veya
Error in while (condition) { : missing value where TRUE/FALSE needed
Ne anlama geliyor ve nasıl önleyebilirim?
Yanıtlar:
Sonuç condition
olarak bir NA
. if
Koşullu olması ya bir gerekir TRUE
ya da FALSE
sonuçlanabilir.
if (NA) {}
## Error in if (NA) { : missing value where TRUE/FALSE needed
Bu, hesaplamaların sonuçları olarak yanlışlıkla olabilir:
if(TRUE && sqrt(-1)) {}
## Error in if (TRUE && sqrt(-1)) { : missing value where TRUE/FALSE needed
Bir nesne kullanımını eksik olup olmadığını test etmek için is.na(x)
yerine x == NA
.
Ayrıca ilgili hatalara bakın:
İf / while (condition) {: argümanının uzunluğu sıfır ise hata
İf / while (koşul) hatası: argüman mantıksal olarak yorumlanamıyor
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
NA
iki tarafta da tolere edemez . Ben tanımlamak:x = NA
ve sonra bir yapmakif (x == NA){ ... }
sonra ayrıştırıcı çift eşittir sol tarafını incelerken çalışma zamanında bu hata atılır. Bu hatayı gidermek için, koşulunuzdaki her değişkenin NA kullanmadığından emin olunis.na(your_variable)
.