كيفية القيام بالربط الصحيح في r (مع أمثلة)


هناك طريقتان شائعتان لإجراء صلة صحيحة في R:

الطريقة الأولى: استخدم Base R

 merge(df1, df2, by=' column_to_join_on ', all. y = TRUE )

الطريقة الثانية: استخدم dplyr

 library (dplyr)

right_join(df1, df2, by=' column_to_join_on ')

ستعيد كلتا الطريقتين جميع الصفوف من df2 وجميع الصفوف ذات المفاتيح المطابقة من df1 .

تجدر الإشارة أيضًا إلى أن كلتا الطريقتين ستنتجان نفس النتيجة، لكن طريقة dplyr ستميل إلى الأداء بشكل أسرع في مجموعات البيانات الكبيرة للغاية.

توضح الأمثلة التالية كيفية استخدام كل من هذه الوظائف عمليًا مع إطارات البيانات التالية:

 #define first data frame
df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

df1

  team points
1 to 18
2 B 22
3 C 19
4 D 14
5 E 14
6 F 11
7 G 20
8:28 a.m.

#define second data frame
df2 = data. frame (team=c('A', 'B', 'C', 'D', 'L', 'M'),
                 assists=c(4, 9, 14, 13, 10, 8))

df2

  team assists
1 to 4
2 B 9
3 C 14
4 D 13
5 L 10
6 M 8

مثال 1: الانضمام الأيمن باستخدام Base R

يمكننا استخدام الدالة merge() في قاعدة R لإجراء صلة صحيحة، باستخدام عمود “الفريق” كعمود للانضمام إليه:

 #perform right join using base R
df3 <- merge(df1, df2, by=' team ', all. y = TRUE )

#view result
df3

  team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 L NA 10
6 M NA 8

لاحظ أنه تم تضمين جميع الأسطر من df2 في إطار البيانات النهائي، ولكن تم تضمين الأسطر من df1 التي لها اسم فريق مطابق فقط في إطار البيانات النهائي.

مثال 2: الانضمام الأيمن باستخدام dplyr

يمكننا استخدام الدالة right_join() من الحزمة dplyr لإجراء صلة صحيحة، باستخدام عمود “الفريق” كعمود للانضمام إلى:

 library (dplyr)

#perform right join using dplyr 
df3 <- right_join(df1, df2, by=' team ')

#view result
df3

  team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 L NA 10
6 M NA 8

لاحظ أن هذا يتوافق مع النتيجة التي حصلنا عليها باستخدام الدالة merge() في الأساس R.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:

كيفية القيام بالانضمام الأيسر في R
كيفية إضافة عمود إلى إطار البيانات في R
كيفية إزالة الأعمدة من إطار البيانات في R

Add a Comment

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