Dplyr: كيفية تلخيص البيانات مع الاحتفاظ بجميع الأعمدة
عند استخدام الدالة summarise() في dplyr ، ستتم إزالة أي متغيرات غير مضمنة في الدالة summarise() أو group_by() تلقائيًا.
ومع ذلك، يمكنك استخدام الدالة mutate() لتلخيص البيانات مع الاحتفاظ بجميع الأعمدة في إطار البيانات.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: تلخيص البيانات مع الاحتفاظ بجميع الأعمدة باستخدام dplyr
لنفترض أن لدينا إطار البيانات التالي الذي يحتوي على معلومات حول لاعبي كرة السلة المختلفين:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 3 ), points=c(4, 9, 8, 12, 15, 14, 29, 30, 22), assists=c(3, 3, 2, 5, 8, 10, 4, 5, 12)) #view data frame df team points assists 1 to 4 3 2 to 9 3 3 to 8 2 4 B 12 5 5 B 15 8 6 B 14 10 7 C 29 4 8 C 30 5 9 C 22 12
يمكننا استخدام الصيغة التالية لتلخيص متوسط النقاط المسجلة لكل فريق :
library (dplyr) #summarize mean points values by team df %>% group_by(team) %>% summarize(mean_pts = mean(points)) # A tibble: 3 x 2 team mean_pts 1 to 7 2 B 13.7 3 C 27
يعرض العمود المسمى Mean_pts متوسط النقاط التي سجلها كل فريق.
ومن النتيجة يمكننا أن نرى:
- متوسط النقاط التي أحرزها لاعبو الفريق أ هو 7 .
- متوسط النقاط التي سجلها لاعبو الفريق B هو 13.7 .
- متوسط النقاط التي سجلها لاعبو الفريق ج هو 27 .
ومع ذلك، لنفترض أننا نريد الاحتفاظ بجميع الأعمدة الأخرى من إطار البيانات الأصلي.
يمكننا استخدام الصيغة التالية مع الدالة mutate() للقيام بذلك:
library (dplyr) #summarize mean points values by team and keep all columns df %>% group_by(team) %>% mutate(mean_pts = mean(points)) %>% A group() # A tibble: 9 x 4 team points assists mean_pts 1 to 4 3 7 2 to 9 3 7 3 to 8 2 7 4 B 12 5 13.7 5 B 15 8 13.7 6 B 14 10 13.7 7 C 29 4 27 8 C 30 5 27 9 C 22 12 27
باستخدام الدالة mutate() ، يمكننا إنشاء عمود جديد يسمى Mean_pts الذي يلخص متوسط النقاط المسجلة لكل فريق مع الاحتفاظ بجميع الأعمدة الأخرى من إطار البيانات الأصلي.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في dplyr:
dplyr: كيفية تحويل متغير إذا كان العمود يحتوي على سلسلة
dplyr: كيفية تغيير مستويات العامل باستخدام mutate()
dplyr: كيفية إضافة أعمدة متعددة