كيفية استخدام الدالة tapply() في لغة r (مع أمثلة)
يمكن استخدام الدالة Tapply() في لغة R لتطبيق دالة على متجه، مجمعة بواسطة متجه آخر.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
جامع (X، INDEX، FUN، ..)
ذهب:
- X : المتجه الذي سيتم تطبيق دالة عليه
- INDEX : ناقل للمجموعة
- FUN : الوظيفة المراد تطبيقها
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا مع إطار البيانات التالي في R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
points=c(14, 19, 13, 8, 15, 15, 17, 19),
assists=c(4, 3, 3, 5, 9, 14, 15, 12))
#view data frame
df
team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12
مثال 1: تطبيق دالة على متغير، مجمعة حسب متغير
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة Tapply() لحساب متوسط قيمة النقاط ، مجمعة حسب الفريق :
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean)
AB
13.5 16.5
ومن النتيجة يمكننا أن نرى:
- متوسط قيمة النقاط للفريق “أ” هو 13.5 .
- متوسط قيمة النقاط للفريق B هو 16.5 .
لاحظ أنه يمكنك أيضًا تضمين وسائط إضافية بعد الوظيفة، مثل na.rm ، للإشارة إلى أنك تريد حساب المتوسط مع تجاهل قيم NA في إطار البيانات:
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )
AB
13.5 16.5
مثال 2: تطبيق دالة على متغير، مجمعة حسب عدة متغيرات
يوضح الكود التالي كيفية استخدام الدالة Tapply() لحساب متوسط قيمة النقاط ، مجمعة حسب الفريق والمنصب :
# calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )
FG
A 10.5 16.5
B 18.0 15.0
ومن النتيجة يمكننا أن نرى:
- متوسط قيمة النقاط للفريق A والمركز F هو 10.5 .
- متوسط قيمة النقاط للفريق A والمركز G هو 16.5 .
- متوسط قيمة النقاط للفريق B والمركز F هو 18.0 .
- متوسط قيمة النقاط للفريق B والمركز G هو 15.0 .
ملاحظة : في هذا المثال، قمنا بتجميع متغيرين، ولكن يمكننا تضمين أي عدد نريده من المتغيرات في الدالة list() لتجميع المزيد من المتغيرات.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في R:
كيفية استخدام الدالة dim() في R
كيفية استخدام وظيفة الجدول () في R
كيفية استخدام وظيفة التوقيع () في R