كيفية تنظيم الصفوف حسب المجموعة باستخدام dplyr (مع أمثلة)


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

الطريقة الأولى: ترتيب الصفوف تصاعديًا حسب المجموعة

 library (dplyr)

#arrange rows in ascending order based on col2, grouped by col1
df %>%
  group_by(col1) %>%
  arrange(col2, . by_group = TRUE )

الطريقة الثانية: ترتيب الصفوف تنازليًا حسب المجموعة

 library (dplyr)

#arrange rows in descending order based on col2, grouped by col1
df %>%
  group_by(col1) %>%
  arrange( desc (col2), . by_group = TRUE )

الطريقة الثالثة: تنظيم الخطوط حسب مجموعات متعددة

 library (dplyr)

#arrange rows based on col3, grouped by col1 and col2
df %>%
  group_by(col1, col2) %>%
  arrange(col3, . by_group = TRUE )

يشرح هذا البرنامج التعليمي كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

مثال 1: ترتيب الصفوف تصاعديًا حسب المجموعة

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

 library (dplyr)

#arrange rows in ascending order by points, grouped by team
df %>%
  group_by(team) %>%
  arrange(points, . by_group = TRUE )

# A tibble: 8 x 3
# Groups: team [2]
  team position points
        
1 AF 3
2 AG 10
3 AG 12
4 AF 14
5 BG 15
6 BF 17
7 BF 17
8 BG 22

يتم إدراج الخطوط بترتيب تصاعدي (من الأصغر إلى الأكبر) حسب النقاط ، مجمعة حسب عمود الفريق .

مثال 2: ترتيب الصفوف تنازليًا حسب المجموعة

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

 library (dplyr)

#arrange rows in descending order by points, grouped by team
df %>%
  group_by(team) %>%
  arrange( desc (dots), .by_group = TRUE )

# A tibble: 8 x 3
# Groups: team [2]
  team position points
        
1 AF14
2 AG 12
3 AG 10
4 AF 3
5 BG 22
6 BF 17
7 BF 17
8 BG 15

يتم إدراج الصفوف بترتيب تنازلي (من الأكبر إلى الأصغر) حسب النقاط ، مجمعة حسب عمود الفريق .

مثال 3: تنظيم الخطوط حسب مجموعات متعددة

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

 library (dplyr)

#arrange rows in descending order by points, grouped by team and position
df %>%
  group_by(team, position) %>%
  arrange(points, . by_group = TRUE )

# A tibble: 8 x 3
# Groups: team, position [4]
  team position points
        
1 AF 3
2 AF14
3 AG 10
4 AG 12
5 BF 17
6 BF 17
7 BG 15
8 BG 22

يتم إدراج الخطوط بترتيب تصاعدي (من الأصغر إلى الأكبر) حسب النقاط ، مجمعة حسب أعمدة الفريق والموضع .

مصادر إضافية

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

كيفية تصفية القيم الفريدة باستخدام dplyr
كيفية التصفية حسب شروط متعددة باستخدام dplyr
كيفية حساب عدد التكرارات في الأعمدة في R

Add a Comment

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