كيفية عمل وصلة متقاطعة في r (مع مثال)
أسهل طريقة لإجراء صلة متقاطعة في R هي استخدام الدالة cross() من حزمة Tidyr :
library (tidyr) #perform cross join on df1 and df2 crossing(df1, df2)
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: إجراء وصلة متقاطعة في R
لنفترض أن لدينا إطاري البيانات التاليين في R:
#define first data frame df1 = data. frame (team1=c('A', 'B', 'C', 'D'), dots=c(18, 22, 19, 14)) df1 team1 points 1 to 18 2 B 22 3 C 19 4 D 14 #define second data frame df2 = data. frame (team2=c('A', 'B', 'F'), assists=c(4, 9, 8)) df2 team2 assists 1 to 4 2 B 9 3 F 8
يمكننا استخدام الدالة Crossing() من حزمة Tidyr لإجراء وصلة متقاطعة على إطاري البيانات هذين:
library (tidyr) #perform cross join cross <- crossing(df1, df2) #view result cross # A tibble: 12 x 4 team1 points team2 assists 1 A 18 A 4 2 A 18 B 9 3 A 18 F 8 4 B 22 A 4 5 B 22 B 9 6 B 22 F 8 7 C 19 A 4 8 C 19 B 9 9 C 19 F 8 10 D 14 A 4 11 D 14 B 9 12 D 14 F 8
والنتيجة هي إطار بيانات يحتوي على جميع المجموعات الممكنة من الصفوف من كل إطار بيانات.
على سبيل المثال، يحتوي الصف الأول من إطار البيانات الأول على الفريق A و 18 نقطة. يتوافق هذا الخط مع كل سطر من إطار البيانات الثاني.
ثم يحتوي الصف الثاني من إطار البيانات الأول على الفريق B و 22 نقطة. يتوافق هذا الخط أيضًا مع كل سطر من إطار البيانات الثاني.
والنتيجة النهائية هي إطار بيانات مكون من 12 سطرًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية القيام بالانضمام الأيسر في R
كيفية القيام بالانضمام الصحيح في R
كيفية القيام بصلة داخلية في R