วิธีแก้ไขค่าที่หายไปใน r (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อประมาณค่าที่หายไปในคอลัมน์กรอบข้อมูลใน R:
library (dplyr) library (zoo) df <- df %>% mutate(column_name = na. approx (column_name))
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: สอดแทรกค่าที่หายไปใน R
สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่แสดงยอดขายรวมของร้านค้าเป็นเวลา 15 วันติดต่อกัน:
#create data frame df <- data. frame (day=1:15, sales=c(3, 6, 8, 10, 14, 17, 20, NA, NA, NA, NA, 35, 39, 44, 49)) #view data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 NA 9 9 NA 10 10 NA 11 11 NA 12 12 35 13 13 39 14 14 44 15 15 49
โปรดทราบว่าเราขาดตัวเลขยอดขายเป็นเวลาสี่วันในกรอบข้อมูล
หากเราสร้างแผนภูมิเส้นง่ายๆ เพื่อแสดงภาพยอดขายเมื่อเวลาผ่านไป หน้าตาจะเป็นอย่างไร:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
ในการเติมค่าที่หายไป เราสามารถใช้ฟังก์ชัน na.approx() จากแพ็คเกจ สวนสัตว์ เช่นเดียวกับฟังก์ชัน mutate() จากแพ็คเกจ dplyr :
library (dplyr) library (zoo) #interpolate missing values in 'sales' column df <- df %>% mutate(sales = na. approx (sales)) #view updated data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 23 9 9 26 10 10 29 11 11 32 12 12 35 13 13 39 14 14 44 15 15 49
โปรดทราบว่าแต่ละค่าที่หายไปได้ถูกแทนที่แล้ว
หากเราสร้างแผนภูมิเส้นอื่นเพื่อแสดงภาพกรอบข้อมูลที่อัปเดต จะเป็นดังนี้:
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
โปรดทราบว่าค่าที่เลือกโดยฟังก์ชัน na.approx() ดูเหมือนจะตรงกับแนวโน้มของข้อมูลค่อนข้างดี
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการจัดการกับค่าที่หายไปใน R:
วิธีค้นหาและนับค่าที่หายไปใน R
วิธีใส่ค่าที่หายไปทั้งหมดใน R
วิธีใช้ฟังก์ชัน is.na ใน R