كيفية تعيين إطار بيانات فرعيًا في r بناءً على شروط متعددة
يمكنك استخدام الطرق التالية لتعريف إطار بيانات بناءً على شروط متعددة في R:
الطريقة الأولى: إطار بيانات المجموعة الفرعية باستخدام منطق “OR”.
df_sub <- subset(df, team == ' A ' | points < 20 )
سيقوم هذا المثال المحدد بتعيين إطار البيانات فرعيًا للصفوف حيث يساوي عمود الفريق “A” أو عمود النقاط أقل من 20.
الطريقة الثانية: إطار بيانات المجموعة الفرعية باستخدام منطق “AND”.
df_sub <- subset(df, team == ' A ' & points < 20 )
سيعمل هذا المثال المحدد على تعيين إطار البيانات فرعيًا للصفوف حيث يساوي عمود الفريق “A” ويكون عمود النقاط أقل من 20.
يشرح هذا البرنامج التعليمي كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
position=c('Guard', 'Guard', 'Forward',
'Guard', 'Forward', 'Forward'),
dots=c(22, 25, 19, 22, 12, 35))
#view data frame
df
team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35
مثال 1: إطار بيانات المجموعة الفرعية باستخدام منطق “OR”.
يوضح التعليمة البرمجية التالية كيفية تعيين إطار البيانات فرعيًا للصفوف حيث يساوي عمود الفريق “A” أو عمود النقاط أقل من 20:
#subset data frame where team is 'A' or points is less than 20 df_sub <- subset(df, team == ' A ' | points < 20 ) #view subset df_sub team position points 1 A Guard 22 2 A Guard 25 3 A Forward 19 5 B Forward 12
يحتوي كل صف من الصفوف في المجموعة الفرعية إما على قيمة “A” في عمود الفريق أو قيمة في عمود النقاط أقل من 20.
ملاحظة : | يمثل الرمز “OR” في R.
في هذا المثال، قمنا فقط بتضمين رمز “OR” واحد في الدالة subset() ولكن يمكننا تضمين أكبر عدد نريده في المجموعة الفرعية بناءً على المزيد من الشروط.
مثال 2: إطار بيانات المجموعة الفرعية باستخدام منطق “AND”.
يوضح التعليمة البرمجية التالية كيفية تعيين إطار البيانات فرعيًا للصفوف حيث يساوي عمود الفريق “A” ويكون عمود النقاط أقل من 20:
#subset data frame where team is 'A' and points is less than 20 df_sub <- subset(df, team == ' A ' & points < 20 ) #view subset df_sub team position points 3 A Forward 19
لاحظ أن المجموعة الفرعية الناتجة تحتوي على صف واحد فقط.
في الواقع، هناك صف واحد فقط يحتوي على قيمة “A” في عمود الفرق وقيمة في عمود النقاط أقل من 20.
ملحوظة : الرمز & يمثل “AND” في R.
في هذا المثال، قمنا فقط بتضمين رمز “AND” واحد في الدالة subset() ولكن يمكننا تضمين أكبر عدد نريده في المجموعة الفرعية بناءً على المزيد من الشروط.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية تحديد صفوف مفردة في إطار البيانات في R
كيفية تحديد الصفوف ذات قيم NA في R
كيفية تحديد الصفوف بناءً على قيم المتجهات في R