วิธีการดำเนินการ listwise delete ใน r (พร้อมตัวอย่าง)
การลบแบบ Listwise เป็นวิธีการที่จะลบแถวทั้งหมดในกรอบข้อมูลที่มีค่าหายไปใน คอลัมน์
วิธีที่ง่ายที่สุดในการดำเนินการลบแบบรายการใน R คือการใช้ไวยากรณ์ต่อไปนี้:
complete_df <- df[complete. boxes (df), ]
ไวยากรณ์นี้ใช้ฟังก์ชัน complete.cases() เพื่อสร้างกรอบข้อมูลใหม่ที่มีเฉพาะแถวจากกรอบข้อมูลเดิมที่ไม่มีค่าที่ขาดหายไปในคอลัมน์ใดๆ
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: ดำเนินการลบแบบรายการใน R
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
#create data frame df <- data. frame (rating=c(70, 75, 75, 78, 81, 85, 89, 91, 94, 97), points=c(12, 15, 14, 13, NA, 29, 24, 18, 20, 25), assists=c(9, 5, NA, 5, 7, 8, 11, 12, 13, 11)) #view data frame df rating points assists 1 70 12 9 2 75 15 5 3 75 14 NA 4 78 13 5 5 81 NA 7 6 85 29 8 7 89 24 11 8 91 18 12 9 94 20 13 10 97 25 11
โปรดสังเกตว่าสองแถวมีค่า NA ในบางคอลัมน์
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนิน การลบแบบรายการ และเก็บเฉพาะแถวที่ไม่มีค่าที่หายไปในคอลัมน์ใด ๆ :
#create new data frame that only contains rows with no missing values complete_df <- df[complete. boxes (df), ] #view new data frame complete_df rating points assists 1 70 12 9 2 75 15 5 4 78 13 5 6 85 29 8 7 89 24 11 8 91 18 12 9 94 20 13 10 97 25 11
โปรดทราบว่าไม่มีแถวใดในกรอบข้อมูลใหม่นี้ที่มีค่าว่างในคอลัมน์ใดๆ
โปรดทราบว่าเราสามารถใช้ฟังก์ชัน nrow() เพื่อกำหนดจำนวนแถวในกรอบข้อมูลดั้งเดิมที่มีค่าหายไปในคอลัมน์ใดๆ:
#count how many rows have missing values in any column nrow(df[ ! complete. cases (df), ]) [1] 2
สิ่งนี้บอกเราว่า 2 แถวในกรอบข้อมูลดั้งเดิมมีค่าหายไปในคอลัมน์อย่างน้อยหนึ่งคอลัมน์
และเราสามารถนับจำนวนแถวที่ไม่มีค่าที่หายไปในคอลัมน์ใด ๆ ได้อย่างง่ายดาย:
#count how many rows do not have missing values in any column nrow(df[complete. cases (df), ]) [1] 8
สิ่งนี้บอกเราว่ากรอบข้อมูลดั้งเดิม 8 แถวไม่มีค่าที่หายไปในคอลัมน์ใด ๆ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R: