วิธีลบบรรทัดว่างออกจาก data frame ใน r


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

วิธีที่ 1: ลบแถวที่มี NA ในทุกคอลัมน์

 df[rowSums(is. na (df)) != ncol(df), ]

วิธีที่ 2: ลบแถวที่มี NA อย่างน้อยหนึ่งคอลัมน์

 df[complete. boxes (df), ]

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

ตัวอย่างที่ 1: ลบแถวที่มี NA ในทุกคอลัมน์

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

เราสามารถใช้โค้ดต่อไปนี้เพื่อลบแถวออกจากกรอบข้อมูลที่มีค่า NA ในแต่ละคอลัมน์:

 #remove rows with NA in all columns
df[rowSums(is. na (df)) != ncol(df), ]

   X Y Z
1 3 NA 1
2 4 5 2
4 6 2 6
5 8 2 8
6 NA 5 NA

โปรดทราบว่าแถวที่มีค่า NA ในแต่ละคอลัมน์ได้ถูกลบออกแล้ว

ตัวอย่างที่ 2: ลบแถวที่มี NA ในอย่างน้อยหนึ่งคอลัมน์

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

เราสามารถใช้โค้ดต่อไปนี้เพื่อลบแถวออกจาก data frame ที่มีค่า NA อย่างน้อยหนึ่งคอลัมน์:

 #remove rows with NA in at least one column
df[complete. boxes (df), ]

  X Y Z
2 4 5 2
4 6 2 6
5 8 2 8

โปรดทราบว่าแถวทั้งหมดที่มีค่า NA ในคอลัมน์อย่างน้อยหนึ่งคอลัมน์ได้ถูกลบออกแล้ว

ที่เกี่ยวข้อง: วิธีใช้ complete.cases ใน R (พร้อมตัวอย่าง)

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

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

วิธีสร้าง data frame ว่างใน R
วิธีสร้างรายการว่างใน R
วิธีสร้างเวกเตอร์ว่างใน R

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

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