วิธีลบคอลัมน์ที่มีค่า na ใน r


คุณสามารถใช้หนึ่งในสองวิธีในการลบคอลัมน์ออกจากกรอบข้อมูลใน R ที่มีค่า NA:

วิธีที่ 1: ใช้ Base R

 df[, colSums(is. na (df))== 0 ]

วิธีที่ 2: ใช้ dplyr

 library (dplyr)

df %>% select_if(~ !any(is. na (.)))

ทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกัน

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

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

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B NA 28 28
3 C NA 31 24
4 D 88 39 24
5 E 95 34 NA

ตัวอย่างที่ 1: ลบคอลัมน์ที่มีค่า NA โดยใช้ Base R

รหัสต่อไปนี้แสดงวิธีลบคอลัมน์ที่มีค่า NA โดยใช้ฟังก์ชัน R พื้นฐาน:

 #define new data frame
new_df <- df[ , colSums(is. na (df))== 0 ]

#view new data frame
new_df

  team assists
1 to 33
2 B 28
3 C 31
4 D 39
5 E 34

โปรดทราบว่าทั้งสองคอลัมน์ที่มีค่า NA (จุดและรีบาวด์) ได้ถูกลบออกจากกรอบข้อมูลแล้ว

ตัวอย่างที่ 2: ลบคอลัมน์ที่มีค่า NA โดยใช้ dplyr

รหัสต่อไปนี้แสดงวิธีลบคอลัมน์ที่มีค่า NA โดยใช้ฟังก์ชันในแพ็คเกจ dplyr :

 library (dplyr)

#define new data frame
new_df <- df %>% select_if(~ !any(is. na (.)))

#view new data frame
new_df

  team assists
1 to 33
2 B 28
3 C 31
4 D 39
5 E 34

อีกครั้ง ทั้งสองคอลัมน์ที่มีค่า NA (จุดและรีบาวด์) ถูกลบออกจากกรอบข้อมูล

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

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

วิธีเพิ่มคอลัมน์ใน data frame ใน R
วิธีเปลี่ยนชื่อคอลัมน์กรอบข้อมูลใน R
วิธีจัดเรียง data frame ตามคอลัมน์ใน R

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

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