كيفية فرز مصفوفة في لغة r (مع أمثلة)


يمكنك استخدام الطرق التالية لفرز مصفوفة حسب عمود معين في R:

الطريقة الأولى: فرز المصفوفة بزيادة عمود واحد

 sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]

الطريقة الثانية: فرز المصفوفة عن طريق تقليل عمود واحد

 sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليا مع المصفوفة التالية:

 #create matrix
my_matrix <- matrix(c(5, 4, 2, 2, 7, 9, 12, 10, 15, 4, 6, 3), ncol= 2 )

#view matrix
my_matrix

     [,1] [,2]
[1,] 5 12
[2,] 4 10
[3,] 2 15
[4,] 2 4
[5,] 7 6
[6,] 9 3

مثال 1: فرز المصفوفة بزيادة عمود واحد

يوضح الكود التالي كيفية فرز المصفوفة عن طريق زيادة القيم بناءً على العمود الأول:

 #sort matrix by first column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 1]), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3

لاحظ أنه تم الآن فرز المصفوفة عن طريق زيادة القيم بناءً على العمود الأول.

يمكننا أيضًا الفرز بسهولة عن طريق زيادة القيم وفقًا للعمود الثاني عن طريق تغيير 1 إلى 2 :

 #sort matrix by second column increasing
sorted_matrix <- my_matrix[order(my_matrix[, 2]), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 9 3
[2,] 2 4
[3,] 7 6
[4,] 4 10
[5,] 5 12
[6,] 2 15

يتم الآن فرز المصفوفة عن طريق زيادة القيم بناءً على العمود الثاني.

مثال 2: فرز المصفوفة عن طريق تقليل عمود واحد

يوضح الكود التالي كيفية فرز المصفوفة عن طريق تقليل القيم بناءً على العمود الأول:

 #sort matrix by first column decreasing
sorted_matrix <- my_matrix[order(my_matrix[, 1], decreasing= TRUE ), ]

#view sorted matrix
sorted_matrix

     [,1] [,2]
[1,] 2 15
[2,] 2 4
[3,] 4 10
[4,] 5 12
[5,] 7 6
[6,] 9 3

لاحظ أنه تم الآن فرز المصفوفة حسب القيم المتناقصة بناءً على العمود الأول.

ذات صلة : الدليل الكامل للفرز () والترتيب () والرتبة () في R

مصادر إضافية

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

كيفية فرز القيم أبجديًا في R
كيفية فرز إطار البيانات حسب التاريخ في R
كيفية الفرز حسب أعمدة متعددة في R

Add a Comment

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