วิธีลบ 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