วิธีการเข้าร่วมซ้ายใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน ผสาน () เพื่อดำเนินการรวมด้านซ้ายในฐาน R:

 #left join using base R
merge(df1,df2, all. x = TRUE )

คุณยังสามารถใช้ฟังก์ชัน left_join() จากแพ็คเกจ dplyr เพื่อดำเนินการรวมด้านซ้าย:

 #left join using dplyr
dplyr::left_join(df2, df1)

หมายเหตุ: หากคุณกำลังทำงานกับชุดข้อมูลที่มีขนาดใหญ่มาก ฟังก์ชัน left_join() จะมีแนวโน้มที่จะเร็วกว่าฟังก์ชัน merge()

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันเหล่านี้ในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:

 #define first data frame
df1 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '),
                  dots=c(99, 93, 96, 104))

df1

   team points
1 Mavs 99
2 Hawks 93
3 Spurs 96
4 Nets 104

#define second data frame
df2 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '),
                  rebounds=c(25, 32, 38, 30),
                  assists=c(19, 18, 22, 25))

df2

   team rebound assists
1 Mavs 25 19
2 Hawks 32 18
3 Spurs 38 22
4 Nets 30 25

ตัวอย่างที่ 1: ออกจากการรวมโดยใช้ Base R

เราสามารถใช้ฟังก์ชัน merge() ในฐาน R เพื่อดำเนินการรวมด้านซ้าย โดยใช้คอลัมน์ ‘ทีม’ เป็นคอลัมน์ที่จะรวม:

 #perform left join using base R
merge(df1, df2, by=' team ', all. x = TRUE )

   team points rebound assists
1 Hawks 93 32 18
2 Mavs 99 25 19
3 Nets 104 30 25
4 Spurs 96 38 22

ตัวอย่างที่ 2: ปล่อยให้เข้าร่วมโดยใช้ dplyr

เราสามารถใช้ฟังก์ชัน left_join() จากแพ็คเกจ dplyr เพื่อดำเนินการรวมด้านซ้าย โดยใช้คอลัมน์ ‘ทีม’ เป็นคอลัมน์ที่จะเข้าร่วม:

 library (dplyr)

#perform left join using dplyr 
left_join(df1, df2, by=' team ')

   team points rebound assists
1 Mavs 99 25 19
2 Hawks 93 32 18
3 Spurs 96 38 22
4 Nets 104 30 25

ข้อแตกต่างประการหนึ่งที่คุณจะสังเกตเห็นระหว่างสองฟังก์ชันนี้คือฟังก์ชัน Merge() จะเรียงลำดับแถวตามตัวอักษรโดยอัตโนมัติตามคอลัมน์ที่คุณใช้ในการรวม

ในทางกลับกัน ฟังก์ชัน left_join() จะรักษาลำดับเดิมของแถวในกรอบข้อมูลแรก

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีการเข้าร่วมภายในใน R
วิธีดำเนินการจับคู่แบบคลุมเครือใน R
วิธีเพิ่มคอลัมน์ใน data frame ใน R
วิธีลบคอลัมน์ออกจาก data frame ใน R

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

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