انضم إلى اليسار في dplyr بأسماء أعمدة مختلفة
يمكنك استخدام بناء الجملة الأساسي التالي في dplyr لربط إطاري بيانات باليسار عندما يكون للأعمدة التي تنضم إليها أسماء مختلفة في كل إطار بيانات:
library (dplyr) final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name '))
سيؤدي هذا المثال تحديدًا إلى إجراء صلة يسارية على إطارات بيانات تسمى df_A و df_B ، وربط العمود من df_A المسمى team والعمود من df_B المسمى team_name .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: قم بإجراء صلة يسرى بأسماء أعمدة مختلفة في 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'), rebounds=c(14, 8, 8, 6, 9)) df_B team_name rebounds 1 to 14 2 C 8 3 D 8 4 F 6 5 G 9
يمكننا استخدام بناء الجملة التالي في dplyr لإجراء صلة يسارية بناءً على القيم المطابقة في عمود الفريق في df_A وعمود team_name في df_B :
library (dplyr) #perform left join based on different column names in df_A and df_B final_df <- left_join(df_A, df_B, by = c(' team ' = ' team_name ')) #view final data frame final_df team points rebounds 1 to 22 14 2 B 25 NA 3 C 19 8 4 D 14 8 5 E 38 NA
يحتوي إطار البيانات الناتج على جميع الصفوف من df_A والصفوف فقط من df_B حيث تتطابق قيم الفريق مع قيم team_name .
لاحظ أنه يمكنك أيضًا البحث عبر أعمدة متعددة بأسماء مختلفة باستخدام بناء الجملة الأساسي التالي:
library (dplyr) #perform left join based on multiple different column names final_df <- left_join(df_A, df_B, by = c(' A1 ' = ' B1 ', ' A2 ' = ' B2 ', ' A3 ' = ' B3 '))
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة left_join() في dplyr هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية القيام بالانضمام الأيسر في R
كيفية القيام بالانضمام الصحيح في R
كيفية القيام بصلة داخلية في R
كيفية القيام بصلة خارجية في R