كيفية العثور على جميع المجموعات الفريدة من ناقلين في r
يمكنك استخدام أي من الطرق التالية للعثور على جميع المجموعات الفريدة لعناصر متجهين في R:
الطريقة الأولى: استخدم Tidir
library (tidyr) #find unique combinations of elements from vector1 and vector2 crossing(vector1, vector2)
الطريقة الثانية: استخدام data.table
library (data.table) #find unique combinations of elements from vector1 and vector2 CJ(vector1, vector2, unique= TRUE )
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا.
مثال 1: العثور على مجموعات فريدة باستخدام Tidyr
يوضح التعليمة البرمجية التالية كيفية العثور على جميع مجموعات العناصر الفريدة بين متجهين في R باستخدام وظيفة Crossing() من حزمة Tidyr :
library (tidyr)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display all unique combinations of region and points
crossing(region, points)
# A tibble: 12 x 2
region points
1 East 0
2 East 5
3 East 10
4 North 0
5 North 5
6 North 10
7 South 0
8 South 5
9South 10
10 West 0
11 West 5
12 West 10
والنتيجة هي إطار بيانات يعرض جميع المجموعات الفريدة من العناصر بين المتجهين.
يمكننا أن نرى أن هناك 12 مجموعة فريدة.
إذا كنت تريد فقط معرفة عدد المجموعات الفريدة، فيمكنك تغليف هذه الدالة باستخدام الدالة nrow() :
library (tidyr)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display number of unique combinations of region and points
nrow(crossing(region, points))
[1] 12
لاحظ أنه يمكن أيضًا استخدام الدالة Crossing() مع أكثر من متجهين.
ما عليك سوى تقديم أسماء العدد الذي تريده من المتجهات إلى الدالة Crossing() للعثور على العدد الإجمالي للمجموعات الفريدة.
مثال 2: ابحث عن مجموعات فريدة باستخدام data.table
يوضح التعليمة البرمجية التالية كيفية العثور على جميع مجموعات العناصر الفريدة بين متجهين في R باستخدام وظيفة CJ() من الحزمة data.table :
library (data.table)
#definevectors
region=c(' North ', ' South ', ' East ', ' West ')
dots=c(0, 5, 10)
#display all unique combinations of region and points
CJ(region, points, unique= TRUE )
region points
1: East 0
2: East 5
3: East 10
4: North 0
5: North 5
6: North 10
7: South 0
8: South 5
9: South 10
10: West 0
11: West 5
12: West 10
والنتيجة هي إطار بيانات يعرض جميع المجموعات الفريدة من العناصر بين المتجهين.
لاحظ أن نتائج الدالة CJ() تتوافق مع نتائج الدالة crossing() .
يمكن أيضًا استخدام الدالة CJ() مع أكثر من متجهين.
ما عليك سوى تقديم أسماء العدد الذي تريده من المتجهات إلى الدالة CJ() للعثور على العدد الإجمالي للمجموعات الفريدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية حساب القيم الفريدة حسب المجموعة في R
كيفية تحديد صفوف مفردة في إطار البيانات في R
كيفية حساب القيم المميزة باستخدام dplyr