วิธีค้นหาและนับค่าที่หายไปใน r (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อค้นหาและนับค่าที่หายไปใน R:

วิธีที่ 1: ค้นหาตำแหน่งของค่าที่หายไป

 which( is.na (df$column_name))

วิธีที่ 2: นับค่าที่หายไปทั้งหมด

 sum( is.na (df$column_name))

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

ตัวอย่างที่ 1: ค้นหาและนับค่าที่หายไปในคอลัมน์

สมมติว่าเรามีกรอบข้อมูลดังต่อไปนี้:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#view data frame
df

  team points assists rebounds
1 A 99 NA 30
2 B 90 28 28
3 C 86 NA 24
4 NA 88 NA 24
5 E 95 34 NA

เราสามารถใช้โค้ดต่อไปนี้เพื่อระบุตำแหน่งที่มีค่าหายไปในคอลัมน์ “assist” และค้นหาค่าที่หายไปทั้งหมดในคอลัมน์ “assist”:

 #identify locations of missing values in 'assists' column
which( is.na (df$assists))

[1] 1 3 4

#count total missing values in 'assists' column
sum( is.na (df$assists))

[1] 3 

จากผลลัพธ์เราจะเห็นว่าตำแหน่งที่ 1 , 3 และ 4 มีค่าที่หายไปในคอลัมน์ ‘ช่วยเหลือ’ และมีค่าที่หายไปทั้งหมด 3 ค่าในคอลัมน์

ตัวอย่างที่ 2: นับค่าที่หายไปในทุกคอลัมน์

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#count total missing values in each column of data frame
sapply(df, function (x) sum(is. na (x)))

    team points assists rebounds 
       1 0 3 1

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คอลัมน์ “ทีม” มีค่าที่ขาดหายไป 1 ค่า
  • คอลัมน์ “คะแนน” มีค่าที่หายไป 0 ค่า
  • คอลัมน์ “ความช่วยเหลือ” มีค่าที่ขาดหายไป 3 ค่า
  • คอลัมน์ “rebounds” มีค่าที่ขาดหายไป 1 ค่า

ตัวอย่างที่ 3: นับค่าที่หายไปในกรอบข้อมูลทั้งหมด

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', NA, 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(NA, 28, NA, NA, 34),
                 rebounds=c(30, 28, 24, 24, NA))

#count total missing values in entire data frame
sum( is.na (df))

[1] 5

จากผลลัพธ์เราจะเห็นว่ามีค่าที่หายไปทั้งหมด 5 ค่าใน data frame ทั้งหมด

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

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

วิธีใส่ค่าที่หายไปทั้งหมดใน R
วิธีแทนที่ NAs ด้วยสตริงใน R
วิธีแทนที่ NA ด้วย Zero ใน dplyr

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

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