كيفية العثور على جميع المجموعات الفريدة من ناقلين في 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

Add a Comment

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