كيفية تحديد الصف الأول حسب المجموعة باستخدام dplyr


في كثير من الأحيان، قد ترغب في تحديد الصف الأول من كل مجموعة باستخدام حزمة dplyr في R. يمكنك استخدام بناء الجملة الأساسي التالي للقيام بذلك:

 df %>%
  group_by (group_var) %>%
  arrange (values_var) %>%
  filter (row_number()== 1 )

يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

مثال: حدد الصف الأول حسب المجموعة في R

لنفترض أن لدينا مجموعة البيانات التالية في R:

 #create dataset
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C' ),
                 points=c(4, 9, 7, 7, 6, 13, 8, 8, 4, 17))

#view dataset
df

   team points
1 to 4
2 to 9
3 to 7
4 B 7
5 B 6
6 B 13
7 C 8
8 C 8
9 C 4
10 C 17

يوضح التعليمة البرمجية التالية كيفية استخدام حزمة dplyr لتحديد الصف الأول حسب المجموعة في R:

 library (dplyr)

df %>%
  group_by (team) %>%
  arrange (points) %>%
  filter (row_number()== 1 )

# A tibble: 3 x 2
# Groups: team [3]
  team points
    
1 to 4
2 C 4
3 B 6

افتراضيًا، يقوم الترتيب () بفرز القيم بترتيب تصاعدي ولكن يمكننا بسهولة فرز القيم بترتيب تنازلي:

 df %>%
  group_by (team) %>%
  arrange ( desc (dots)) %>%
  filter (row_number()== 1 )

# A tibble: 3 x 2
# Groups: team [3]
  team points
    
1 C 17
2 B 13
3 to 9

لاحظ أنه يمكنك تعديل هذا الرمز بسهولة لتحديد الصف التاسع في كل مجموعة. فقط قم بتغيير row_number() == n .

على سبيل المثال، إذا كنت تريد تحديد الصف الثاني حسب المجموعة، فيمكنك استخدام بناء الجملة التالي:

 df %>%
  group_by (team) %>%
  arrange ( desc (dots)) %>%
  filter (row_number()== 2 )

أو يمكنك استخدام بناء الجملة التالي لتحديد الصف الأخير حسب المجموعة:

 df %>%
  group_by (team) %>%
  arrange ( desc (dots)) %>%
  filter (row_number()== n() )

مصادر إضافية

كيفية ترتيب الخطوط في R
كيفية حساب الملاحظات لكل مجموعة في R
كيفية العثور على القيمة القصوى لكل مجموعة في R

Add a Comment

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