ج: كيفية فرز إطار البيانات باستخدام سمة row.names
يمكنك استخدام الطريقتين التاليتين لفرز إطار من البيانات في R باستخدام سمة Row.names :
الطريقة الأولى: الفرز باستخدام أحرف Row.names
df[order( row.names (df)), ]
الطريقة الثانية: الفرز باستخدام أسماء الصفوف الرقمية
df[order(as. numeric (row. names (df))), ]
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.
مثال 1: فرز إطار البيانات باستخدام أسماء صفوف الأحرف
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names of data frame
row. names (df) <- c('A', 'C', 'E', 'D', 'B')
#view data frame
df
position points assists rebounds
GA 99 33 30
CG 90 28 28
EF 86 31 24
FD 88 39 24
BC 95 34 28
يمكننا استخدام بناء الجملة التالي لفرز الصفوف في إطار البيانات أبجديًا باستخدام سمة Row.names :
#sort rows alphabetically using row.names
df[order( row.names (df)), ]
position points assists rebounds
GA 99 33 30
BC 95 34 28
CG 90 28 28
FD 88 39 24
EF 86 31 24
يتم فرز الصفوف من الألف إلى الياء بناءً على قيمة اسم الصف.
يمكنك أيضًا استخدام الوسيطة التنازلي = TRUE للفرز من Z إلى A:
#sort rows from Z to A using row.names
df[order(row. names (df), decreasing= TRUE ), ]
position points assists rebounds
EF 86 31 24
FD 88 39 24
CG 90 28 28
BC 95 34 28
GA 99 33 30
مثال 2: فرز إطار البيانات باستخدام أسماء الصفوف الرقمية
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names of data frame
row. names (df) <- c(1, 100, 4, 12, 19)
#view data frame
df
position points assists rebounds
1G 99 33 30
100G 90 28 28
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28
يمكننا استخدام بناء الجملة التالي لفرز الصفوف في إطار البيانات باستخدام سمة Row.names :
#sort by row names from smallest to largest
df[order(as. numeric (row. names (df))), ]
position points assists rebounds
1G 99 33 30
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28
100G 90 28 28
يمكننا أيضًا استخدام التنازلي = TRUE للفرز من الأكبر إلى الأصغر:
#sort by row names from largest to smallest
df[order(as. numeric (row. names (df)), decreasing= TRUE ), ]
position points assists rebounds
100G 90 28 28
19 C 95 34 28
12 F 88 39 24
4 F 86 31 24
1G 99 33 30
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية استخدام الترتيب () والترتيب () والرتبة () في R
كيفية الفرز حسب أعمدة متعددة في R
كيفية فرز إطار البيانات حسب التاريخ في R