วิธีใช้ฟังก์ชัน coalesce() ใน dplyr (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน coalesce() จากแพ็กเก จ dplyr ใน R เพื่อส่งคืนค่าแรกที่ไม่หายไปในแต่ละตำแหน่งของเวกเตอร์ตั้งแต่หนึ่งตัวขึ้นไป

มีสองวิธีทั่วไปในการใช้ฟังก์ชันนี้:

วิธีที่ 1: แทนที่ค่าที่หายไปในเวกเตอร์

 library (dplyr)

#replace missing values with 100
coalescence(x, 100)

วิธีที่ 2: ส่งกลับค่าแรกที่ไม่หายไปในคอลัมน์กรอบข้อมูล

 library (dplyr)

#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)

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

ตัวอย่างที่ 1: ใช้ Coalesce() เพื่อแทนที่ค่าที่หายไปในเวกเตอร์

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน Coalesce() เพื่อแทนที่ค่าที่หายไปทั้งหมดในเวกเตอร์ด้วยค่า 100:

 library (dplyr)

#create vector of values
x <- c(4, NA, 12, NA, 5, 14, 19)

#replace missing values with 100
coalescence(x, 100)

[1] 4 100 12 100 5 14 19

โปรดทราบว่าค่า NA แต่ละค่าในเวกเตอร์ดั้งเดิมจะถูกแทนที่ด้วยค่า 100

ตัวอย่างที่ 2: ใช้ Coalesce() เพื่อส่งคืนค่าแรกที่ไม่หายไปในคอลัมน์กรอบข้อมูล

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (A=c(10, NA, 5, 6, NA, 7, NA),
                 B=c(14, 9, NA, 3, NA, 10, 4))

#view data frame
df

   AB
1 10 14
2 NA 9
3 5 NA
4 6 3
5 NA NA
6 7 10
7 NA 4

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน Coalesce() เพื่อส่งกลับค่าแรกที่หายไปในคอลัมน์ A และ B ของกรอบข้อมูล:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA NA
6 7 10 7
7 NA 4 4

คอลัมน์ผลลัพธ์ C มีค่าแรกที่ไม่หายไปในคอลัมน์ A และ B

โปรดทราบว่าแถวที่ 5 มีค่า NA ในคอลัมน์ C เนื่องจากคอลัมน์ A และ B ต่างก็มีค่า NA ในแถวนี้

เราสามารถเพิ่มค่าพิเศษให้กับฟังก์ชัน coalesce() เพื่อใช้เป็นค่าได้หากมีค่า NA ในแต่ละคอลัมน์:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B, 100)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA 100
6 7 10 7
7 NA 4 4

โปรดทราบว่าค่า NA ในแถวที่ 5 ของคอลัมน์ C ถูกแทนที่ด้วยค่า 100 แล้ว

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

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

วิธีลบแถวโดยใช้ dplyr
วิธีจัดเรียงแถวโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr

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

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