Tôi muốn biết tại sao một số ngôn ngữ như R có cả NA và NaN. Sự khác biệt hoặc chúng giống nhau là gì? Có thực sự cần thiết phải có NA?
Tôi muốn biết tại sao một số ngôn ngữ như R có cả NA và NaN. Sự khác biệt hoặc chúng giống nhau là gì? Có thực sự cần thiết phải có NA?
Câu trả lời:
? là Nam
? là
? NA
? NaN
Nên trả lời câu hỏi của bạn.
Nhưng, tóm lại:
NaN có nghĩa là - Viết tắt của Không phải là Số
NA thường được hiểu là một giá trị còn thiếu và có nhiều dạng khác nhau - NA_integer_, NA_real_, v.v.
Do đó, NaN NA và cần có NaN và NA.
is.na()
trả về TRUE
cho cả NA và NaN, khác với is.nan()
ví dụ is.na(c(0/0,NA))
so với is.nan(c(0/0,NA))
.
NA là dành cho dữ liệu bị thiếu. NaN, như JM nói là dành cho mục đích số học. NaN thường là sản phẩm của một số phép toán số học, chẳng hạn như 0/0
. NA thường được khai báo trước hoặc là sản phẩm hoạt động khi bạn cố gắng truy cập vào thứ gì đó không có ở đó:
> a <- c(1,2)
> a[3]
[1] NA
Tôi nghĩ NA là viết tắt của 'Không khả dụng', trong khi NaN là 'Không phải là Số', mặc dù điều này mang tính ghi nhớ nhiều hơn là giải thích. Nhân tiện, tôi biết không có ngôn ngữ nào ngoài R (có lẽ là Splus?) Có cả hai. Matlab, ví dụ, chỉ có NaN.
NA có nghĩa là lỗi đã có khi bạn nhập bảng tính vào R. NaN có nghĩa là bạn đã gây ra lỗi sau khi nhập dữ liệu. Đây là loại lỗi thứ ba rất khó bắt.
:-)
NA = Không có sẵn
NaN = Không phải là số
Tôi nghĩ rằng một khi chúng ta mở rộng các từ viết tắt, nó sẽ tự giải thích.