ج: كيفية التجميع والعد مع الشرط
يمكنك استخدام بناء الجملة الأساسي التالي لتنفيذ شرط التجميع والعد في R:
library (dplyr) df %>% group_by(var1) %>% summarize(count = sum(var2 == ' val '))
يقوم بناء الجملة هذا بتجميع سطور إطار البيانات بناءً على var1 ثم يحسب عدد الأسطر التي يساوي فيها var2 “val”.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: التجميع حسب والعد مع شرط في R
لنفترض أن لدينا إطار البيانات التالي في R الذي يحتوي على معلومات حول لاعبي كرة السلة المختلفين:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), pos=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) #view data frame df team pos points 1 A Gu 18 2 A Fo 22 3 A Fo 19 4 A Fo 14 5 B Gu 14 6 B Gu 11 7 B Fo 20 8 B Fo 28
يوضح التعليمة البرمجية التالية كيفية تجميع إطار البيانات حسب متغير الفريق وحساب عدد الصفوف حيث يساوي متغير pos “Gu”:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(pos == ' Gu '))
# A tibble: 2 x 2
team count
1 to 1
2 B 2
ومن النتيجة يمكننا أن نرى:
- لدى الفريق “أ” صف واحد حيث يكون عمود نقطة البيع مساويًا لـ “Gu”
- يحتوي الفريق B على صفين حيث عمود نقطة البيع يساوي “Gu”
يمكننا استخدام بناء جملة مشابه للتجميع والعد باستخدام شرط الرقم.
على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية التجميع حسب متغير الفريق وحساب عدد الصفوف التي يكون فيها متغير النقاط أكبر من 15:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(points > 15 ))
# A tibble: 2 x 2
team count
1 to 3
2 B 2
ومن النتيجة يمكننا أن نرى:
- لدى الفريق “أ” 3 أسطر حيث يكون عمود النقاط أكبر من 15
- لدى الفريق B سطرين حيث يكون عمود النقاط أكبر من 15
يمكنك استخدام بناء جملة مماثل للتجميع والعد مع أي شرط محدد تريده.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية حساب القيم في عمود مع الشرط في R
كيفية تحديد قيم N الأولى حسب المجموعة في R