كيفية إنشاء جدول ترافقي باستخدام dplyr (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي لإنتاج جدول ترافقي باستخدام وظائف من حزمتي dplyr و Tidyr في R:
df %>% group_by (var1, v ar2) %>% tally () %>% spread (var1,n)
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
المثال 1: إنشاء جدول ترافقي أساسي
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'C', 'G', 'F', 'F', 'C'), dots=c(7, 7, 8, 11, 13, 15, 19, 13)) #view data frame df team position points 1 AG 7 2 AG 7 3AF 8 4 AC 11 5 BG 13 6 BF 15 7 BF 19 8 BC 13
يمكننا استخدام الصيغة التالية لإنشاء جدول ترافقي لمتغيري “الفريق” و”المنصب”:
library (dplyr) library (tidyr) #produce crosstab df %>% group_by (team, position) %>% tally () %>% spread (team, n) # A tibble: 3 x 3 position AB 1 C 1 1 2 F 1 2 3 G 2 1
فيما يلي كيفية تفسير القيم الجدولية:
- يوجد لاعب واحد يشغل المركز “C” وينتمي إلى الفريق “A”
- هناك لاعب واحد يشغل المركز “C” وينتمي إلى الفريق “B”
- هناك لاعب واحد يشغل المركز “F” وينتمي إلى الفريق “A”
- هناك لاعبان يشغلان المركز “F” وينتميان إلى الفريق “B”
- هناك لاعبان في المركز “G” وينتميان إلى الفريق “A”
- هناك لاعب واحد يشغل المركز “G” وينتمي إلى الفريق “B”
لاحظ أنه يمكننا تغيير صفوف وأعمدة الجدول الترافقي عن طريق تغيير المتغير المستخدم في الدالة Spread() :
library (dplyr) library (tidyr) #produce crosstab with 'position' along columns df %>% group_by (team, position) %>% tally () %>% spread (position, n) # A tibble: 2 x 4 # Groups: team [2] team CFG 1 A 1 1 2 2 B 1 2 1
ذات صلة: كيفية استخدام ميزة الانتشار في Tidyr
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف شائعة أخرى في dplyr:
كيفية حساب الترددات النسبية باستخدام dplyr
كيفية تحديد الأعمدة حسب الفهرس باستخدام dplyr
كيفية حذف الصفوف باستخدام dplyr