วิธีดำเนินการรวมด้านซ้ายโดยใช้คอลัมน์ที่เลือกใน dplyr
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน dplyr เพื่อดำเนินการรวมด้านซ้ายบนสองเฟรมข้อมูลโดยใช้เฉพาะคอลัมน์ที่เลือก:
library (dplyr) final_df <- df_A %>% left_join(select(df_B, team, conference), by=" team ")
ตัวอย่างเฉพาะนี้จะทำการรวมด้านซ้ายบนเฟรมข้อมูลที่เรียกว่า df_A และ df_B โดยเชื่อมต่อกับคอลัมน์ที่เรียกว่า team แต่เฉพาะคอลัมน์ ทีม และ การประชุม ของ df_B เท่านั้นที่จะรวมอยู่ในเฟรมข้อมูลผลลัพธ์
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ดำเนินการรวมด้านซ้ายโดยใช้คอลัมน์ที่เลือกใน dplyr
สมมติว่าเรามีเฟรมข้อมูลสองเฟรมต่อไปนี้ใน R:
#create first data frame df_A <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), dots=c(22, 25, 19, 14, 38)) df_A team points 1 to 22 2 B 25 3 C 19 4 D 14 5 E 38 #create second data frame df_B <- data. frame (team=c('A', 'C', 'D', 'F', 'G'), conference=c('W', 'W', 'E', 'E', 'E'), rebounds=c(14, 8, 8, 6, 9), assists=c(4, 3, 9, 9, 4)) df_B team conference rebounds assists 1 AW 14 4 2 CW 8 3 3 OF 8 9 4 FE 6 9 5 GE 9 4
เราสามารถใช้ไวยากรณ์ต่อไปนี้ใน dplyr เพื่อดำเนินการรวมด้านซ้าย แต่นำเฉพาะคอลัมน์ ทีม และ การประชุม จาก df_B :
library (dplyr) #perform left join but only bring in team and conference columns from df_B final_df <- df_A %>% left_join(select(df_B, team, conference), by=" team ") #view final data frame final_df team points conference 1A 22W 2 B 25 NA 3C 19W 4 D 14 E 5 E 38 NA
กรอบข้อมูลผลลัพธ์ประกอบด้วยแถวทั้งหมดจาก df_A และเฉพาะแถวจาก df_B ที่ค่า ของทีม ตรงกัน
การใช้ฟังก์ชัน select() ของ dplyr ทำให้เราสามารถระบุได้ว่าเราต้องการนำเข้าคอลัมน์ ทีม และ การประชุม จาก df_B เท่านั้น
โปรดทราบว่าคอลัมน์ การตีกลับ และ การสนับสนุน จาก df_B ไม่ได้รวมอยู่ในกรอบข้อมูลสุดท้าย
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มของฟังก์ชัน left_join() ได้ใน dplyr ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:
วิธีเข้าร่วมซ้ายใน R
วิธีการเข้าร่วมที่ถูกต้องใน R
วิธีการเข้าร่วมภายในใน R
วิธีการรวมภายนอกใน R