Saya ingin tahu mengapa beberapa bahasa seperti R memiliki NA dan NaN. Apa perbedaannya atau apakah keduanya sama? Apakah benar-benar perlu memiliki NA?
Saya ingin tahu mengapa beberapa bahasa seperti R memiliki NA dan NaN. Apa perbedaannya atau apakah keduanya sama? Apakah benar-benar perlu memiliki NA?
Jawaban:
?
?
? NA
? NaN
Harus menjawab pertanyaan Anda.
Namun, singkatnya:
NaN berarti - Singkatan dari Bukan Angka
NA umumnya ditafsirkan sebagai nilai yang hilang dan memiliki berbagai bentuk - NA_integer_, NA_real_, dll.
Oleh karena itu, NaN NA dan ada kebutuhan untuk NaN dan NA.
is.na()
kembali TRUE
untuk kedua NA dan NaN, yang berbeda dari is.nan()
misalnya is.na(c(0/0,NA))
vs is.nan(c(0/0,NA))
.
NA adalah untuk data yang hilang. NaN, seperti yang dikatakan JM adalah untuk tujuan aritmatika. NaN biasanya merupakan produk dari beberapa operasi aritmatika, seperti 0/0
. NA biasanya dinyatakan sebelumnya, atau merupakan produk operasi ketika Anda mencoba mengakses sesuatu yang tidak ada:
> a <- c(1,2)
> a[3]
[1] NA
Saya pikir NA adalah 'Not Available', sementara NaN adalah 'Not a Number', meskipun ini lebih mnemonik daripada penjelasan. Ngomong-ngomong, saya tahu tidak ada bahasa selain R (mungkin Splus?) Yang memiliki keduanya. Matlab, misalnya, hanya memiliki NaN.
NA berarti kesalahan sudah ada ketika Anda mengimpor spreadsheet ke R. NaN berarti Anda menyebabkan kesalahan setelah mengimpor data. Ini adalah jenis kesalahan ketiga yang sangat sulit ditangkap.
:-)
NA = Tidak Tersedia
NaN = Bukan Angka
Saya pikir begitu kita memperluas akronim, itu harus jelas.