ฉันอยากรู้ว่าทำไมบางภาษาเช่น R มีทั้ง NA และ NaN อะไรคือความแตกต่างหรือเท่ากัน จำเป็นหรือไม่ที่จะต้องมี NA
ฉันอยากรู้ว่าทำไมบางภาษาเช่น R มีทั้ง NA และ NaN อะไรคือความแตกต่างหรือเท่ากัน จำเป็นหรือไม่ที่จะต้องมี NA
คำตอบ:
? is.nan
? is.na
? NA
? น่าน
ควรตอบคำถามของคุณ
แต่ในระยะสั้น:
NaN หมายถึง - ย่อมาจาก Not a Number
โดยทั่วไป NA ถูกตีความว่าเป็นค่าที่หายไปและมีรูปแบบต่าง ๆ - NA_integer_, NA_real_ ฯลฯ
ดังนั้น NaN NA และจำเป็นสำหรับ NaN และ NA
is.na()
ผลตอบแทนTRUE
สำหรับทั้ง NA และน่านซึ่งแตกต่างจากการis.nan()
เช่นเทียบกับis.na(c(0/0,NA))
is.nan(c(0/0,NA))
NA ใช้สำหรับข้อมูลที่ขาดหายไป NaN อย่างที่ JM พูดนั้นมีไว้เพื่อจุดประสงค์ทางคณิตศาสตร์ 0/0
น่านมักจะเป็นผลิตภัณฑ์ของบางส่วนดำเนินการทางคณิตศาสตร์เช่น โดยปกติแล้วจะมีการประกาศล่วงหน้า NA หรือเป็นผลิตภัณฑ์ของการดำเนินงานเมื่อคุณพยายามเข้าถึงบางสิ่งที่ไม่มี:
> a <- c(1,2)
> a[3]
[1] NA
ฉันคิดว่า NA มีคำว่า 'Not Available' ในขณะที่ NaN คือ 'Not a Number' แม้ว่านี่จะช่วยในการจำมากกว่าคำอธิบาย โดยวิธีการที่ฉันรู้ว่าไม่มีภาษาอื่นนอกจาก R (อาจ Splus?) ที่มีทั้ง ตัวอย่างเช่น Matlab มีเพียง NaN
NA หมายถึงข้อผิดพลาดเกิดขึ้นที่นั่นเมื่อคุณนำเข้าสเปรดชีตเข้าสู่ R. NaN หมายความว่าคุณเกิดข้อผิดพลาดหลังจากนำเข้าข้อมูล เป็นข้อผิดพลาดประเภทที่สามที่จับยากจริงๆ
:-)
NA = ไม่พร้อมใช้งาน
NaN = ไม่ใช่ตัวเลข
ฉันคิดว่าเมื่อเราขยายคำย่อมันควรจะอธิบายตัวเอง