วิธีลบแถวที่มี na ในคอลัมน์เฉพาะใน r
คุณสามารถใช้หนึ่งในสามวิธีต่อไปนี้เพื่อลบแถวที่มี NA ในคอลัมน์เฉพาะของกรอบข้อมูลใน R:
#use is.na() method df[!is. na (df$col_name),] #use subset() method subset(df, !is. na (col_name)) #use tidyr method library (tidyr) df %>% drop_na(col_name)
โปรดทราบว่าแต่ละวิธีจะให้ผลลัพธ์ที่เหมือนกัน
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:
#create data frame df <- data. frame (a = c(NA, 14, 19, 22, 26), b = c(14, NA, 9, NA, 5), c = c(45, 56, 54, 57, 59)) #view data frame df ABC 1 NA 14 45 2 14 NA 56 3 19 9 54 4 22 NA 57 5 26 5 59
วิธีที่ 1: ลบแถวที่มี NA โดยใช้ is.na()
รหัสต่อไปนี้แสดงวิธีการลบแถวออกจาก data frame ที่มีค่า NA ในบางคอลัมน์โดยใช้เมธอด is.na()
#remove rows from data frame with NA values in column 'b' df[!is. na (df$b),] ABC 1 NA 14 45 3 19 9 54 5 26 5 59
วิธีที่ 2: ลบแถวที่มี NA โดยใช้เซ็ตย่อย ()
รหัสต่อไปนี้แสดงวิธีการลบแถวออกจาก data frame ที่มีค่า NA ในบางคอลัมน์โดยใช้เมธอด subset() :
#remove rows from data frame with NA values in column 'b' subset(df, !is. na (b)) ABC 1 NA 14 45 3 19 9 54 5 26 5 59
วิธีที่ 3: วางแถวด้วย NA โดยใช้ drop_na()
รหัสต่อไปนี้แสดงวิธีการปล่อยแถวจาก data frame ที่มีค่า NA ในบางคอลัมน์โดยใช้เมธอด drop_na() :
library (tidyr)
#remove rows from data frame with NA values in column 'b'
df %>% drop_na(b)
ABC
1 NA 14 45
3 19 9 54
5 26 5 59
โปรดทราบว่าทั้งสามวิธีให้ผลลัพธ์ที่เหมือนกัน
หมายเหตุ: คุณสามารถดูเอกสารออนไลน์ฉบับสมบูรณ์สำหรับเมธอด drop_na() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
วิธีใช้ฟังก์ชันกับแต่ละแถวของ data frame ใน R
วิธีดึงหมายเลขบรรทัดใน R
วิธีเพิ่มแถวใน data frame ใน R