วิธีลบ na ออกจาก matrix ใน r (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อลบค่า NA ออกจากเมทริกซ์ใน R:

วิธีที่ 1: ลบแถวที่มีค่า NA

 new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]

วิธีที่ 2: ลบคอลัมน์ที่มีค่า NA

 new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]

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

 #create matrix
my_matrix <- matrix(c(NA, 0, NA, 5, 7, 4, 1, 3, 9, 5, 5, 8), nrow= 4 )

#view matrix
my_matrix

     [,1] [,2] [,3]
[1,] NA 7 9
[2,] 0 4 5
[3,] NA 1 5
[4,] 5 3 8

วิธีที่ 1: ลบแถวที่มีค่า NA

รหัสต่อไปนี้แสดงวิธีการลบแถวทั้งหมดออกจากเมทริกซ์ที่มีค่า NA:

 #remove all rows with NA values
new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]

#view updated matrix
new_matrix

     [,1] [,2] [,3]
[1,] 0 4 5
[2,] 5 3 8

โปรดทราบว่าแถวทั้งหมดที่มีค่า NA ได้ถูกลบออกจากเมทริกซ์แล้ว

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน rowSums() ใน R

วิธีที่ 2: ลบคอลัมน์ที่มีค่า NA

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

 #remove all columns with NA values
new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]

#view updated matrix
new_matrix

     [,1] [,2]
[1,] 7 9
[2,] 4 5
[3,] 1 5
[4,] 3 8

โปรดทราบว่าคอลัมน์ทั้งหมดที่มีค่า NA ได้ถูกลบออกจากเมทริกซ์แล้ว

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน colSums() ใน R

โบนัส: แปลงค่า NA ให้เป็นศูนย์ในเมทริกซ์

หากคุณต้องการแปลงค่า NA ทั้งหมดให้เป็นศูนย์ในเมทริกซ์ คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

 #remove all columns with NA values
my_matrix[is. na (my_matrix)] <- 0

#view updated matrix
my_matrix

     [,1] [,2] [,3]
[1,] 0 7 9
[2,] 0 4 5
[3,] 0 1 5
[4,] 5 3 8

โปรดทราบว่าค่า NA ทั้งหมดถูกแปลงเป็นศูนย์

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

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

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

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

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