วิธีแก้ไขค่าที่หายไปใน 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 ') 

สอดแทรกค่าที่หายไปใน R

ในการเติมค่าที่หายไป เราสามารถใช้ฟังก์ชัน 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

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

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