كيفية حساب الترددات النسبية باستخدام 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 هنا .

Add a Comment

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