كيفية حساب إحصائيات الملخص حسب المجموعة في r


هناك طريقتان أساسيتان لحساب إحصائيات ملخص المجموعة في R:

الطريقة الأولى: استخدم Tapply() من Base R

 tapply(df$value_col, df$group_col, summary)

الطريقة الثانية: استخدم group_by() من حزمة dplyr

 library (dplyr)

df %>%
  group_by (group_col) %>% 
  summarize (min = min(value_col),
            q1 = quantile(value_col, 0.25 ),
            median = median(value_col),
            mean = mean(value_col),
            q3 = quantile(value_col, 0.75 ),
            max = max(value_col))

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.

الطريقة الأولى: استخدم Tapply() من Base R

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة Tapply() في R لحساب إحصائيات الملخص حسب المجموعة:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(99, 68, 86, 88, 95, 74, 78, 93),
                 assists=c(22, 28, 31, 35, 34, 45, 28, 31),
                 rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))

#calculate summary statistics of 'points' grouped by 'team'
tapply(df$points, df$team, summary)

$A
   Min. 1st Qu. Median Mean 3rd Qu. Max. 
  68.00 81.50 87.00 85.25 90.75 99.00 

$B
   Min. 1st Qu. Median Mean 3rd Qu. Max. 
   74.0 77.0 85.5 85.0 93.5 95.0 

الطريقة الثانية: استخدم group_by() من حزمة dplyr

يوضح التعليمة البرمجية التالية كيفية استخدام الدالتين group_by() و Summary() في حزمة dplyr لحساب إحصائيات الملخص حسب المجموعة:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(99, 68, 86, 88, 95, 74, 78, 93),
                 assists=c(22, 28, 31, 35, 34, 45, 28, 31),
                 rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))

#calculate summary statistics of 'points' grouped by 'team'
df %>%
  group_by (team) %>% 
  summarize (min = min(points),
            q1 = quantile(points, 0.25 ),
            median = median(points),
            mean = mean(points),
            q3 = quantile(points, 0.75 ),
            max = max(points))

# A tibble: 2 x 7
  team min q1 median mean q3 max
         
1 A 68 81.5 87 85.2 90.8 99
2 B 74 77 85.5 85 93.5 95

لاحظ أن كلا الطريقتين ترجعان نفس النتائج تمامًا.

تجدر الإشارة إلى أن أسلوب dplyr من المرجح أن يكون أسرع بالنسبة لإطارات البيانات الأكبر حجمًا، لكن كلتا الطريقتين ستعملان بشكل مماثل على إطارات البيانات الأصغر.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف التجميع الشائعة الأخرى في R:

كيفية إنشاء جدول تكراري حسب المجموعة في R
كيفية حساب المبلغ حسب المجموعة في R
كيفية حساب المتوسط لكل مجموعة في R
كيفية حساب المبلغ حسب المجموعة في R

Add a Comment

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