Saya menerima pesan kesalahan ini:
Error in if (condition) { : missing value where TRUE/FALSE needed
atau
Error in while (condition) { : missing value where TRUE/FALSE needed
Apa artinya itu, dan bagaimana saya mencegahnya?
Saya menerima pesan kesalahan ini:
Error in if (condition) { : missing value where TRUE/FALSE needed
atau
Error in while (condition) { : missing value where TRUE/FALSE needed
Apa artinya itu, dan bagaimana saya mencegahnya?
Jawaban:
Evaluasi condition
menghasilkan NA
. The if
bersyarat harus memiliki sebuah TRUE
atau FALSE
hasil.
if (NA) {}
## Error in if (NA) { : missing value where TRUE/FALSE needed
Ini dapat terjadi secara tidak sengaja sebagai hasil perhitungan:
if(TRUE && sqrt(-1)) {}
## Error in if (TRUE && sqrt(-1)) { : missing value where TRUE/FALSE needed
Untuk menguji apakah sebuah benda yang hilang digunakan is.na(x)
daripada x == NA
.
Lihat juga kesalahan terkait:
Kesalahan dalam if / while (kondisi) {: argumen panjang nol
Kesalahan saat / saat (kondisi): argumen tidak dapat ditafsirkan sebagai logis
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
di kedua sisi. Jika saya mendefinisikan:x = NA
dan kemudian melakukanif (x == NA){ ... }
kesalahan maka ini akan dilemparkan pada saat runtime ketika parser memeriksa sisi kiri sama dengan ganda. Untuk memperbaiki kesalahan ini, pastikan setiap variabel dalam kondisi Anda tidak menggunakan NAis.na(your_variable)
.