ตอบ: วิธีค้นหาคอลัมน์ที่มีค่าที่หายไปทั้งหมด
คุณสามารถใช้วิธีการต่อไปนี้เพื่อค้นหาคอลัมน์ในกรอบข้อมูลใน R ที่มีค่าที่หายไปทั้งหมด:
วิธีที่ 1: ใช้ Base R
#check if each column has all missing values all_miss <- apply(df, 2, function (x) all(is. na (x))) #display columns with all missing values names(all_miss[all_miss>0])
วิธีที่ 2: ใช้แพ็คเกจ purrr
library (purrr) #display columns with all missing values df %>% keep(~all(is. na (.x))) %>% names
ทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกัน แต่วิธี purrr มีแนวโน้มที่จะเร็วกว่าสำหรับเฟรมข้อมูลขนาดใหญ่มาก
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (points=c(21, 15, 10, 4, 4, 9, 12, 10),
assists=c(NA, NA, NA, NA, NA, NA, NA, NA),
rebounds=c(8, 12, 14, 10, 7, 9, 8, 5),
steals=c(NA, NA, NA, NA, NA, NA, NA, NA))
#view data frame
df
points assists rebounds steals
1 21 NA 8 NA
2 15 NA 12 NA
3 10 NA 14 NA
4 4 NA 10 NA
5 4 NA 7 NA
6 9 NA 9 NA
7 12 NA 8 NA
8 10 NA 5 NA
ตัวอย่างที่ 1: ค้นหาคอลัมน์ที่มีค่าที่หายไปทั้งหมดโดยใช้ Base R
รหัสต่อไปนี้แสดงวิธีค้นหาคอลัมน์ใน data frame ที่มีค่าที่หายไปทั้งหมด:
#check if each column has all missing values all_miss <- apply(df, 2, function (x) all(is. na (x))) #display columns with all missing values names(all_miss[all_miss>0]) [1] “assists” “steals”
จากผลลัพธ์ เราจะเห็นว่าคอลัมน์ ช่วยเหลือ และ ดักจับ มีค่าที่ขาดหายไปทั้งหมด
ตัวอย่างที่ 2: ค้นหาคอลัมน์ที่มีค่าที่หายไปทั้งหมดโดยใช้แพ็คเกจ purrr
รหัสต่อไปนี้แสดงวิธีค้นหาคอลัมน์ใน data frame ที่มีค่าที่หายไปทั้งหมดโดยใช้ฟังก์ชันจากแพ็คเกจ purrr :
library (purrr) #display columns with all missing values df %>% keep(~all(is. na (.x))) %>% names [1] “assists” “steals”
จากผลลัพธ์ เราจะเห็นว่าคอลัมน์ ช่วยเหลือ และ ดักจับ มีค่าที่ขาดหายไปทั้งหมด
ซึ่งสอดคล้องกับผลลัพธ์ของวิธีฐาน R
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ที่มีค่าหายไปใน R:
วิธีใส่ค่าที่หายไปทั้งหมดใน R
วิธีแทนที่ NAs ด้วยสตริงใน R
วิธีแทนที่ NA ด้วย Zero ใน dplyr