كيفية إنشاء pivottables بسرعة في r


في Excel، توفر الجداول المحورية طريقة سهلة لتجميع البيانات وتلخيصها.

على سبيل المثال، إذا كانت لدينا مجموعة البيانات التالية في Excel، فيمكننا استخدام جدول محوري لتلخيص إجمالي المبيعات بسرعة حسب المنطقة:

هذا يخبرنا:

  • المنطقة أ لديها 51 إجمالي المبيعات
  • المنطقة ب لديها 85 إجمالي المبيعات
  • حققت المنطقة ج 140 إجمالي المبيعات

أو يمكننا تلخيص ذلك بمقياس آخر مثل متوسط المبيعات حسب المنطقة:

اتضح أنه يمكننا إنشاء جداول محورية مماثلة بسرعة في لغة R باستخدام الدالتين group_by() و Summary() من الحزمة dplyr .

يقدم هذا البرنامج التعليمي عدة أمثلة لكيفية القيام بذلك.

مثال: إنشاء جداول PivotTables في R

أولاً، لنقم بإنشاء نفس مجموعة البيانات في R التي استخدمناها في الأمثلة السابقة من Excel:

 #create data frame
df <- data. frame (region=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
                 device=c('X', 'X', 'Y', 'X', 'Y', 'Y', 'X', 'X', 'Y', 'Y'),
                 sales=c(12, 18, 21, 22, 34, 29, 38, 36, 34, 32))

#view data frame
df

   region device sales
1AX 12
2AX18
3 AY 21
4 BX22
5 BY 34
6 BY 29
7 CX 38
8CX36
9 CY 34
10 CY 32

بعد ذلك، لنقم بتحميل حزمة dplyr واستخدام الدالتين group_by() و Summary() للتجميع حسب المنطقة والعثور على مجموع المبيعات حسب المنطقة:

 library (dplyr)

#find sum of sales by region
df %>%
  group_by (region) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 3 x 2
  region sum_sales
        
1 to 51
2 B 85
3 C 140

يمكننا أن نرى أن هذه الأرقام تتطابق مع الأرقام الموضحة في المثال التمهيدي لبرنامج Excel.

يمكننا أيضًا حساب متوسط المبيعات حسب المنطقة:

 #find average sales by region
df %>%
  group_by (region) %>% 
  summarize (mean_sales = mean (sales))

# A tibble: 3 x 2
  region mean_sales
        
1 to 17  
2 B 28.3
3 C 35

مرة أخرى، تتطابق هذه الأرقام مع الأرقام الموضحة في مثال Excel السابق.

لاحظ أنه يمكننا أيضًا التجميع حسب متغيرات متعددة. على سبيل المثال، يمكننا العثور على مجموع المبيعات مجمعة حسب المنطقة ونوع الجهاز:

 #find sum of sales by region and device type
df %>%
  group_by (region, device) %>% 
  summarize (sum_sales = sum (sales))

# A tibble: 6 x 3
# Groups: region [3]
  region device sum_sales
          
1AX30
2 AY 21
3 BX22
4 BY 63
5 CX 74
6 CY 66

مصادر إضافية

كيفية إجراء VLOOKUP (على غرار Excel) في R
الدليل الكامل: كيفية تجميع البيانات وتلخيصها في لغة R

Add a Comment

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