Cara memperbaiki di r: nilai hilang di mana diperlukan benar/salah


Kesalahan yang mungkin Anda temui di R adalah:

 Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed

Kesalahan ini terjadi ketika Anda membandingkan nilai dengan NA dalam pernyataan if di R menggunakan sintaks x == NA .

Pernyataan if mengharapkan nilai TRUE atau FALSE, jadi sebaiknya gunakan is.na(x) karena fungsi ini selalu mengembalikan TRUE atau FALSE.

Bagaimana cara mereproduksi kesalahan tersebut

Misalkan kita mencoba melakukan iterasi melalui daftar nilai dalam vektor di R dan mencetak kata “hilang” setiap kali ada nilai NA dalam vektor:

 #define vector with some missing values
x <- c(2, NA, 5, 6, NA, 15, 19)

#loop through vector and print "missing" each time an NA value is encountered
for (i in 1:length(x)) {
 
 if (x[i] == NA) {
    print(' Missing ')
  }
}

Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed

Kami menerima kesalahan karena kami menggunakan sintaks x[i] == NA .

Bagaimana cara memperbaiki kesalahan tersebut

Kita perlu mengubah sintaksnya menjadi is.na(x) sebagai berikut:

 #define vector with some missing values
x <- c(2, NA, 5, 6, NA, 15, 19)

#loop through vector and print "missing" each time an NA value is encountered
for (i in 1:length(x)) {
 
 if (is. na (x[i])) {
    print(' Missing ')
  }
}

[1] “Missing”
[1] “Missing”

Perhatikan bahwa kita tidak menerima kesalahan dan dapat mencetak kata “hilang” setiap kali kita menemukan nilai NA dalam vektor.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:

Cara Memperbaiki: NAS Diperkenalkan oleh Paksaan
Cara Memperbaiki: Jumlah Indeks pada Matriks Salah
Cara perbaikan : jumlah barang yang akan diganti bukan kelipatan dari panjang penggantian

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *