كيفية إجراء تجميع البيانات في r: مع أمثلة
يمكنك استخدام إحدى الطريقتين لتنفيذ تجميع البيانات في R:
الطريقة الأولى: استخدم وظيفة القطع ().
library (dplyr) #perform binning with custom breaks df %>% mutate(new_bin = cut(variable_name, breaks=c(0, 10, 20, 30))) #perform binning with specific number of bins df %>% mutate(new_bin = cut(variable_name, breaks= 3 ))
الطريقة الثانية: استخدم الدالة ntile()
library (dplyr) #perform binning with specific number of bins df %>% mutate(new_bin = ntile(variable_name, n= 3 ))
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:
#create data frame
df <- data. frame (points=c(4, 4, 7, 8, 12, 13, 15, 18, 22, 23, 23, 25),
assists=c(2, 5, 4, 7, 7, 8, 5, 4, 5, 11, 13, 8),
rebounds=c(7, 7, 4, 6, 3, 8, 9, 9, 12, 11, 8, 9))
#view head of data frame
head(df)
points assists rebounds
1 4 2 7
2 4 5 7
3 7 4 4
4 8 7 6
5 12 7 3
6 13 8 8
مثال 1: إجراء تجميع البيانات باستخدام وظيفة القطع ().
يوضح التعليمة البرمجية التالية كيفية إجراء تجميع البيانات على متغير النقاط باستخدام وظيفة القطع () مع علامات فاصل محددة:
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks=c(0, 10, 20, 30)))
points assists rebounds points_bin
1 4 2 7 (0.10]
2 4 5 7 (0.10]
3 7 4 4 (0.10]
4 8 7 6 (0.10]
5 12 7 3 (10.20]
6 13 8 8 (10.20]
7 15 5 9 (10.20]
8 18 4 9 (10.20]
9 22 5 12 (20.30]
10 23 11 11 (20.30]
11 23 13 8 (20.30]
12 25 8 9 (20.30]
لاحظ أنه تم وضع كل صف في إطار البيانات في واحدة من ثلاث مجموعات بناءً على قيمة عمود النقطة.
يمكننا أيضًا تحديد عدد القفزات التي سيتم استخدامها لإنشاء مربعات متساوية العرض بدءًا من الحد الأدنى للقيمة إلى الحد الأقصى لقيمة عمود النقاط :
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = cut(points, breaks= 3 ))
points assists rebounds points_bin
1 4 2 7 (3.98.11]
2 4 5 7 (3.98.11]
3 7 4 4 (3.98.11]
4 8 7 6 (3.98.11]
5 12 7 3 (11.18]
6 13 8 8 (11.18]
7 15 5 9 (11.18]
8 18 4 9 (11.18]
9 22 5 12 (18.25]
10 23 11 11 (18.25]
11 23 13 8 (18.25]
12 25 8 9 (18.25]
مثال 2: إجراء تجميع البيانات باستخدام وظيفة ntile()
يوضح التعليمة البرمجية التالية كيفية إجراء تجميع البيانات على متغير النقاط باستخدام وظيفة ntile() مع عدد محدد من المجموعات الناتجة:
library (dplyr)
#perform data binning on variable points
df %>% mutate(points_bin = ntile(points, n= 3 ))
points assists rebounds points_bin
1 4 2 7 1
2 4 5 7 1
3 7 4 4 1
4 8 7 6 1
5 12 7 3 2
6 13 8 8 2
7 15 5 9 2
8 18 4 9 2
9 22 5 12 3
10 23 11 11 3
11 23 13 8 3
12 25 8 9 3
لاحظ أنه تم تعيين مربع من 1 إلى 3 لكل صف بناءً على قيمة عمود النقطة .
من الأفضل استخدام الدالة ntile() عندما تريد عرض قيمة عددية في كل صف بدلاً من فاصل زمني يشير إلى نطاق السلة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية استبدال القيم بشكل مشروط في إطار البيانات في R
كيفية حساب المتوسط المقلص في R
كيفية حساب المتوسط الشرطي في R