كيفية تحديد الصف الأول حسب المجموعة باستخدام 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