วิธีลบแถวที่มีค่า na โดยใช้ dplyr


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

วิธีที่ 1: ลบแถวที่มีค่า NA ในคอลัมน์ใดก็ได้

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

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

 library (dplyr)

#remove rows with NA value in 'col1' or 'col2'
df %>%
  filter_at(vars(col1, col2), all_vars( ! is. na (.)))

วิธีที่ 3: ลบแถวที่มีค่า NA ในคอลัมน์เฉพาะ

 library (dplyr)

#remove rows with NA value in 'col1'
df %>%
  filter( ! is. na (col1))

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

 #create data frame with some missing values
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
                 points=c(99, 90, 86, 88, NA),
                 assists=c(33, NA, 31, 39, 34),
                 rebounds=c(NA, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24
5 C NA 34 28

วิธีที่ 1: ลบแถวที่มีค่า NA ในคอลัมน์ใดก็ได้

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

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

  team points assists rebounds
3 B 86 31 24
4 B 88 39 24

เหลือเพียงสองแถวเท่านั้นคือแถวที่ไม่มีค่า NA ในคอลัมน์ใดๆ

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

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

 library (dplyr)

#remove rows with NA value in 'points' or 'assists' columns
df %>%
  filter_at(vars(points, assists), all_vars( ! is. na (.)))

  team points assists rebounds
1 A 99 33 NA
2 B 86 31 24
3 B 88 39 24

แถวเดียวที่เหลืออยู่คือแถวที่ไม่มีค่า NA ใด ๆ ในคอลัมน์ “คะแนน” หรือ “ช่วยเหลือ”

วิธีที่ 3: ลบแถวที่มีค่า NA ในคอลัมน์เฉพาะ

รหัสต่อไปนี้แสดงวิธีลบแถวที่มีค่า NA ในคอลัมน์เฉพาะของกรอบข้อมูล:

 library (dplyr)

#remove rows with NA value in 'points' column
df %>%
  filter( ! is. na (dots))

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24

แถวเดียวที่เหลืออยู่คือแถวที่ไม่มีค่า NA ในคอลัมน์ “คะแนน”

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

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

dplyr: วิธีกรองแถวที่มีสตริงบางอย่าง
dplyr: วิธีแทนที่ค่า NA ด้วยศูนย์
dplyr: วิธีใช้ตัวกรอง “ไม่รวม”

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

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