كيفية حساب الترددات النسبية باستخدام dplyr
في كثير من الأحيان قد ترغب في حساب التكرارات/النسب النسبية للقيم في عمود واحد أو أكثر من إطار البيانات في R.
لحسن الحظ، من السهل القيام بذلك باستخدام الوظائف الموجودة في الحزمة dplyr . يوضح هذا البرنامج التعليمي كيفية استخدام هذه الوظائف لحساب الترددات النسبية في إطار البيانات التالي:
#create data frame df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B'), position = c('G', 'F', 'F', 'G', 'G', 'G', 'F'), points = c(12, 15, 19, 22, 32, 34, 39)) #view data frame df team position points 1 AG 12 2 AF15 3 FY 19 4 BG 22 5 BG 32 6 BG 34 7 BF 39
مثال 1: التكرار النسبي للمتغير
يوضح الكود التالي كيفية حساب التكرار النسبي لكل فريق في إطار البيانات:
library(dplyr) df %>% group_by (team) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 2 x 3 team n freq 1 to 3 0.429 2 B 4 0.571
يخبرنا هذا أن الفريق “أ” يمثل 42.9% من جميع الصفوف في إطار البيانات بينما يمثل الفريق “ب” نسبة 57.1% المتبقية من الصفوف. لاحظ أن مجموعهما يصل إلى 100%.
ذات صلة: الدليل الكامل: كيفية تجميع البيانات وتلخيصها في لغة R
مثال 2: التكرار النسبي لعدة متغيرات
يوضح الكود التالي كيفية حساب التكرار النسبي للمراكز لكل فريق:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 0.667 2 AG 1 0.333 3 BF 1 0.250 4 BG 3 0.750
وهذا يخبرنا أن:
- 66.7% من لاعبي الفريق A في المركز F.
- 33.3% من لاعبي الفريق A في المركز G.
- 25.0% من لاعبي الفريق A في المركز F.
- 75.0% من لاعبي الفريق B في المركز G.
ذات صلة: كيفية استخدام Mutate لإنشاء متغيرات جديدة في R
مثال 3: إظهار التكرارات النسبية كنسب مئوية
يوضح الكود التالي كيفية حساب التكرار النسبي للمراكز حسب الفريق وكيفية عرض هذه التكرارات النسبية كنسب مئوية:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = paste0(round(100 * n/sum(n), 0), ' % ')) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 67% 2 GA 1 33% 3 BF 1 25% 4 BG 3 75%
يمكنك العثور على المزيد من دروس R هنا .