كيفية إجراء صلة يسارية باستخدام الأعمدة المحددة في 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 حيث تتطابق قيم الفريق .
باستخدام وظيفة التحديد () الخاصة بـ dplyr، تمكنا من تحديد أننا أردنا فقط استيراد أعمدة الفريق والمؤتمر من df_B .
لاحظ أن الأعمدة المرتدة والمساعدة من df_B لم يتم تضمينها في إطار البيانات النهائي.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة left_join() في dplyr هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية القيام بالانضمام الأيسر في R
كيفية القيام بالانضمام الصحيح في R
كيفية القيام بصلة داخلية في R
كيفية القيام بصلة خارجية في R