วิธีลบคอลัมน์ที่มีค่า 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