كيفية استخدام الدالة intersect() في لغة r (مع أمثلة)
يمكنك استخدام الدالة intersect() في الأساس R للعثور على تقاطع كائنين.
يمثل “التقاطع” ببساطة العناصر المشتركة بين الجسمين.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
intersect(object1, object2)
توضح الأمثلة التالية كيفية استخدام الدالة intersect() مع المتجهات وإطارات البيانات.
مثال 1: استخدم الدالة intersect() مع المتجهات
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة intersect() للعثور على التقاطع بين متجهين في R:
#define two vectors x <- c(1, 4, 5, 5, 9, 12, 19) y <- c(1, 2, 5, 5, 10, 14, 19) #find intersection between two vectors intersect(x,y) [1] 1 5 19
من النتيجة يمكننا أن نرى أن المتجهين x و y لديهما ثلاث قيم مشتركة: 1 و 5 و 19 .
لاحظ أن الدالة intersect() تعمل أيضًا مع متجهات الأحرف:
#define two vectors x <- c('A', 'B', 'C', 'D', 'E') y <- c('C', 'D', 'E', 'F') #find intersection between two vectors intersect(x,y) [1] “C” “D” “E”
من النتيجة، يمكننا أن نرى أن المتجهين x و y لديهما ثلاث سلاسل مشتركة: C و D و E.
لاحظ أنه ليس من الضروري أن يكون المتجهان بنفس الطول حتى تعمل الدالة intersect() .
مثال 2: استخدم intersect() مع إطارات البيانات
من أجل العثور على الخطوط المشتركة بين إطاري البيانات، نحتاج إلى استخدام الدالة intersect() من الحزمة dplyr .
يوضح التعليمة البرمجية التالية كيفية استخدام هذه الوظيفة للعثور على الصفوف التي يشترك فيها إطاران من البيانات:
library (dplyr) #define two data frames df1 <- data. frame (team=c('A', 'A', 'B', 'B'), dots=c(12, 20, 25, 19)) df1 team points 1 to 12 2 to 20 3 B 25 4 B 19 df2 <- data. frame (team=c('A', 'A', 'B', 'C'), dots=c(12, 22, 25, 32)) df2 team points 1 to 12 2 to 22 3 B 25 4 C 32 #find intersection between two data frames dplyr::intersect(df1, df2) team points 1 to 12 2 B 25
من النتيجة، يمكننا أن نرى أن إطارات البيانات تحتوي على صفين مشتركين.
لاحظ أن وظيفة التقاطع () هذه ستعيد فقط الصفوف التي لها نفس القيم في كل عمود بين إطاري البيانات.
لاحظ أيضًا أنه يمكننا استخدام الدالة length() مع الدالة intersect() للعثور ببساطة على عدد الصفوف المشتركة بين إطاري البيانات:
#find number of rows in common between the two data frames
length(dplyr::intersect(df1, df2))
[1] 2
من النتيجة يمكننا أن نرى أن كلا إطاري البيانات يحتويان على صفين مشتركين.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في R:
كيفية استخدام الدالة dim() في R
كيفية استخدام وظيفة التحويل () في R
كيفية استخدام الدالة swep() في R