كيفية عمل وصلة متقاطعة في 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *