كيفية استخدام الدالة split() في r لتقسيم البيانات
يمكن استخدام الدالة Split() في R لتقسيم البيانات إلى مجموعات بناءً على مستويات العوامل.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
قسمة (س، و، …)
ذهب:
- x : اسم المتجه أو كتلة البيانات المراد تقسيمها إلى مجموعات
- f : العامل الذي يحدد التجمعات
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة لتقسيم المتجهات وإطارات البيانات إلى مجموعات.
مثال 1: استخدم Split() لتقسيم المتجه إلى مجموعات
يوضح الكود التالي كيفية تقسيم متجه قيم البيانات إلى مجموعات بناءً على متجه مستويات العامل:
#create vector of data values data <- c(1, 2, 3, 4, 5, 6) #create vector of groupings groups <- c('A', 'B', 'B', 'B', 'C', 'C') #split vector of data values into groups split(x = data, f = groups) $A [1] 1 $B [1] 2 3 4 $C [1] 5 6
والنتيجة هي ثلاث مجموعات.
لاحظ أنه يمكنك أيضًا استخدام الفهرسة لاسترداد مجموعات محددة:
#split vector of data values into groups and only display second group
split(x = data, f = groups)[2]
$B
[1] 2 3 4
مثال 2: استخدم Split() لتقسيم إطار البيانات إلى مجموعات
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(33, 28, 31, 39, 34, 44), assists=c(30, 28, 24, 24, 28, 19)) #view data frame df team position points assists 1 GA 33 30 2 AG 28 28 3 AF 31 24 4 BG 39 24 5 BF 34 28 6 BF 44 19
يمكننا استخدام الكود التالي لتقسيم إطار البيانات إلى مجموعات بناءً على متغير “الفريق”:
#split data frame into groups based on 'team'
split(df, f = df$team)
$A
team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
$B
team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19
والنتيجة هي مجموعتين. يحتوي الأول فقط على الأسطر التي يساوي فيها “الفريق” A والثاني يحتوي فقط على الأسطر التي يساوي فيها “الفريق” B.
لاحظ أنه يمكننا أيضًا تقسيم البيانات إلى مجموعات باستخدام متغيرات عوامل متعددة. على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية تقسيم البيانات إلى مجموعات بناءً على متغيرات “الفريق” و”الموضع”:
#split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))
$AF
team position points assists
3 AF 31 24
$BF
team position points assists
5 BF 34 28
6 BF 44 19
$AG
team position points assists
1 GA 33 30
2 AG 28 28
$BG
team position points assists
4 BG 39 24
والنتيجة هي أربع مجموعات.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في R:
كيفية استخدام وظيفة الملخص () في R
كيفية استخدام وظيفة النسخ المتماثل () في R
كيفية استخدام الدالة match() في R