كيفية الفرز حسب أعمدة متعددة في r (مع أمثلة)
يمكنك استخدام أي من الطرق التالية لفرز إطار البيانات عبر أعمدة متعددة في R:
الطريقة الأولى: استخدم Base R
df[order(-df$column1, df$column2), ]
الطريقة الثانية: استخدم dplyr
library (dplyr) df %>% arrange( desc (column1), column2)
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G'), points=c(90, 90, 93, 91, 91, 99, 85), assists=c(33, 28, 31, 39, 34, 40, 44)) #view data frame df team points assists 1 A 90 33 2 B 90 28 3 C 93 31 4 D 91 39 5 E 91 34 6 F 99 40 7 G 85 44
الطريقة الأولى: استخدم Base R
يوضح التعليمة البرمجية التالية كيفية فرز كتلة البيانات المستندة إلى R عن طريق النقاط التنازلية (من الأكبر إلى الأصغر)، ثم عن طريق المساعدة التصاعدية:
#sort by points descending, then by assists ascending
df[order(-df$points, df$assists), ]
team points assists
6 F 99 40
3 C 93 31
5 E 91 34
4 D 91 39
2 B 90 28
1 A 90 33
7 G 85 44
لاحظ أن الصفوف في إطار البيانات مرتبة حسب النقاط من الأكبر إلى الأصغر، ثم حسب النقاط المساعدة من الأصغر إلى الأكبر.
الطريقة الثانية: استخدم dplyr
يوضح التعليمة البرمجية التالية كيفية استخدام الوظائف الموجودة في حزمة dplyr لفرز إطار البيانات حسب النقاط التنازلية (من الأكبر إلى الأصغر) ثم المساعدة التصاعدية:
library (dplyr)
df %>%
arrange( desc (dots), assists)
team points assists
1 F 99 40
2 C 93 31
3 E 91 34
4 D 91 39
5 B 90 28
6 A 90 33
7 G 85 44
مرة أخرى، يتم ترتيب الصفوف في إطار البيانات حسب النقاط من الأكبر إلى الأصغر، ثم حسب النقاط المساعدة من الأصغر إلى الأكبر.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة الترتيب () هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ عمليات الفرز الشائعة الأخرى في R:
كيفية فرز القيم أبجديًا في R
كيفية فرز إطار البيانات حسب التاريخ في R