วิธีจัดการค่า nan ใน r (พร้อมตัวอย่าง)


ใน R NaN ย่อมาจาก Not a Number

โดยทั่วไปแล้ว ค่า NaN จะเกิดขึ้นเมื่อคุณพยายามคำนวณซึ่งส่งผลให้ได้ผลลัพธ์ที่ไม่ถูกต้อง

ตัวอย่างเช่น การหารด้วยศูนย์หรือการคำนวณบันทึกของจำนวนลบ ทั้งคู่จะสร้างค่า NaN:

 #attempt to divide by zero
0 / 0

[1]NaN

#attempt to calculate log of negative value
log(-12)

[1]NaN

โปรดทราบว่าค่า NaN แตกต่างจากค่า NA ซึ่งเพียงแต่แสดงถึงค่าที่หายไป

คุณสามารถใช้วิธีการต่อไปนี้เพื่อจัดการค่า NaN ใน R:

 #identify positions in vector with NaN values
which(is. nan (x))

#count total NaN values in vector
sum(is. nan (x)) 

#remove NaN values in vector
x_new <- x[!is. no (x)]

#replace NaN values in vector
x[is. nan (x)] <- 0 

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ

ตัวอย่างที่ 1: ระบุตำแหน่งในเวกเตอร์ด้วยค่า NaN

รหัสต่อไปนี้แสดงวิธีการระบุตำแหน่งในเวกเตอร์ที่มีค่า NaN:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#identify positions with NaN values
which(is. nan (x))

[1] 2 4

จากผลลัพธ์เราจะเห็นว่าองค์ประกอบที่ตำแหน่ง 2 และ 4 ในเวกเตอร์คือค่า NaN

ตัวอย่างที่ 2: การนับค่า NaN ทั้งหมดในเวกเตอร์

รหัสต่อไปนี้แสดงวิธีนับจำนวนค่า NaN ทั้งหมดในเวกเตอร์ใน R:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#identify positions with NaN values
sum(is. nan (x))

[1] 2

จากผลลัพธ์เราจะเห็นว่าในเวกเตอร์มีค่า NaN ทั้งหมด 2 ค่า

ตัวอย่างที่ 3: ลบค่า NaN ในเวกเตอร์

รหัสต่อไปนี้แสดงวิธีสร้างเวกเตอร์ใหม่โดยลบค่า NaN ออกจากเวกเตอร์ดั้งเดิม:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#define new vector with NaN values removed
x_new <- x[!is. no (x)]

#view new vector
x_new

[1] 1 12 50 30

โปรดทราบว่าค่า NaN ทั้งสองค่าได้ถูกลบออกจากเวกเตอร์แล้ว

ตัวอย่างที่ 4: แทนที่ค่า NaN ในเวกเตอร์

รหัสต่อไปนี้แสดงวิธีแทนที่ค่า NaN ในเวกเตอร์ด้วยศูนย์:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#replace NaN values with zero
x[is. nan (x)] <- 0

#view updated vector
x

[1] 1 0 12 0 50 30

โปรดทราบว่าค่า NaN ทั้งสองถูกแทนที่ด้วยศูนย์ในเวกเตอร์

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีแก้ไขค่าที่หายไปใน R
วิธีค้นหาและนับค่าที่หายไปใน R
วิธีใช้ “ไม่ใช่ NA” ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *