วิธีการเข้าร่วมภายในใน r (พร้อมตัวอย่าง)
มีสองวิธีทั่วไปในการดำเนินการรวมภายในใน R:
วิธีที่ 1: ใช้ Base R
merge(df1, df2, by=' column_to_join_on ')
วิธีที่ 2: ใช้ dplyr
library (dplyr) inner_join(df1, df2, by=' column_to_join_on ')
ทั้งสองวิธีจะให้ผลลัพธ์เดียวกัน แต่วิธี dplyr มีแนวโน้มที่จะทำงานเร็วกว่าในชุดข้อมูลที่มีขนาดใหญ่มาก
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันเหล่านี้ในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:
#define first data frame df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) df1 team points 1 to 18 2 B 22 3 C 19 4 D 14 5 E 14 6 F 11 7 G 20 8:28 a.m. #define second data frame df2 = data. frame (team=c('A', 'B', 'C', 'D', 'G', 'H'), assists=c(4, 9, 14, 13, 10, 8)) df2 team assists 1 to 4 2 B 9 3 C 14 4 D 13 5G 10 6:8 a.m.
ตัวอย่างที่ 1: การรวมภายในโดยใช้ Base R
เราสามารถใช้ฟังก์ชัน merge() ในฐาน R เพื่อดำเนินการรวมภายใน โดยใช้คอลัมน์ ‘ทีม’ เป็นคอลัมน์ที่จะรวม:
#perform inner join using base R df3 <- merge(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
โปรดทราบว่ามีเพียงทีมที่ปรากฏในชุดข้อมูลทั้งสองเท่านั้นที่จะยังคงอยู่ในชุดข้อมูลสุดท้าย
ตัวอย่างที่ 2: การเข้าร่วมภายในโดยใช้ dplyr
เราสามารถใช้ฟังก์ชัน inner_join() จากแพ็คเกจ dplyr เพื่อดำเนินการรวมภายใน โดยใช้คอลัมน์ ‘ทีม’ เป็นคอลัมน์ที่จะเข้าร่วม:
library (dplyr) #perform inner join using dplyr df3 <- inner_join(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
โปรดทราบว่าสิ่งนี้สอดคล้องกับผลลัพธ์ที่เราได้รับโดยใช้ฟังก์ชัน merge() ในฐาน R
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:
วิธีเข้าร่วมซ้ายใน R
วิธีการเข้าร่วมที่ถูกต้องใน R
วิธีเพิ่มคอลัมน์ใน data frame ใน R
วิธีลบคอลัมน์ออกจาก data frame ใน R