ج: دليل كامل لطريقة التعادل في وظيفة التصنيف
يمكنك استخدام الدالة Rank() في الأساس R لإرجاع ترتيب القيم في المتجه.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
رتبة(x, na.last=TRUE,ties.method=”متوسط”)
ذهب:
- x : المتجه الذي يحتوي على القيم المراد تصنيفها
- na.last : إذا كان TRUE، يتم وضع القيم المفقودة أخيرًا. إذا كانت FALSE، فسيتم وضع القيم المفقودة أولاً.
- Tie.method : كيفية التعامل مع الروابط (الطريقة الافتراضية هي “متوسط”)
تحدد الوسيطة Ties.method للدالة Rank() كيفية التعامل مع الروابط.
تقبل هذه الوسيطة الخيارات التالية:
- المتوسط : (افتراضي) يعين لكل عنصر مرتبط متوسط الترتيب (العناصر المصنفة في المركزين الثالث والرابع ستحصل على تصنيف 3.5)
- أولاً : يعين العنصر المرتبط الأول إلى أدنى رتبة (العناصر المصنفة في المركزين الثالث والرابع ستحصل على الرتبتين 3 و 4 على التوالي)
- last : يعين العنصر المرتبط الأخير إلى أدنى رتبة (العناصر المصنفة في المركزين الثالث والرابع ستحصل على الرتبتين 4 و 3 على التوالي)
- min : يعين كل عنصر مرتبط إلى أدنى رتبة (العناصر التي تحتل المرتبة الثالثة والرابعة ستحصل على المرتبة 3)
- الحد الأقصى : يعين لكل عنصر مرتبط أعلى رتبة (العناصر التي تحتل المرتبة الثالثة والرابعة ستحصل على المرتبة 4)
- عشوائي : يعين كل عنصر مرتبط برتبة عشوائية (أي من العناصر المرتبطة بالمركزين الثالث والرابع يمكن أن يحصل على أي من الرتبتين)
توضح الأمثلة التالية كيفية استخدام كل خيار عمليًا مع إطار البيانات التالي في R:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), dots=c(5, 8, 10, 10, 17)) #view data frame df player points 1 to 5 2 B 8 3 C 10 4 D 10 5 E 17
مثال 1: استخدم Rank() مع Ties.method=”average”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”average” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = “ average ”) #view updated data frame df player points points_rank 1 to 5 1.0 2 B 8 2.0 3 C 10 3.5 4 D 10 3.5 5 E 17 5.0
نظرًا لأن اللاعبين C وD حصلا على نفس عدد النقاط وكانا في المركزين 3 و4، فقد حصل كلاهما على متوسط تصنيفهما: 3.5 .
مثال 2: استخدم Rank() مع Ties.method=”first”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”first” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " first ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 3 4 D 10 4 5 E 17 5
نظرًا لأن اللاعبين C وD حصلا على نفس عدد النقاط واحتلا المركزين 3 و4، فإن اللاعب الأول بين هذين اللاعبين (اللاعب “C”) حصل على أدنى مرتبة.
مثال 3: استخدم Rank() مع Ties.method=”last”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”last” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " last ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 3 5 E 17 5
نظرًا لأن اللاعبين C وD حصلا على نفس عدد النقاط واحتلا المركزين 3 و4، فإن اللاعب الأخير بين هذين اللاعبين (اللاعب “D”) حصل على أدنى مرتبة.
مثال 4: استخدم Rank() مع Ties.method=”min”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”min” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " min ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 3 4 D 10 3 5 E 17 5
نظرًا لأن اللاعبين C وD حصلا على نفس عدد النقاط وكانا في المركزين 3 و4، فقد حصل كلا اللاعبين على الحد الأدنى من الرتبة: 3 .
مثال 5: استخدم Rank() مع Ties.method=”max”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”max” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " max ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 4 5 E 17 5
نظرًا لأن اللاعبين C وD حصلا على نفس عدد النقاط وكانا في المركزين 3 و4، فقد حصل كلا اللاعبين على الحد الأقصى للرتبة: 4 .
مثال 6: استخدم Rank() مع Ties.method=”random”
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يستخدم Rank() مع Ties.method=”random” لتعيين تصنيف لكل لاعب بناءً على قيمة عمود النقاط :
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " random ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 3 5 E 17 5
نظرًا لأن اللاعبين C وD حصلوا على نفس عدد النقاط وكانوا في المركزين 3 و4، فقد تم تعيين كل لاعب عشوائيًا في المرتبة 3 أو 4.
لاحظ أنه عند استخدام “عشوائي” لـ Tie.method ، فإن الترتيب المخصص لكل قيمة قد يتغير في كل مرة تقوم فيها بتشغيل الكود.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية استخدام الترتيب () والترتيب () والرتبة () في R
كيفية حساب الرتبة المئوية في R
كيفية الفرز حسب المجموعة باستخدام dplyr