ج: كيفية استخدام الدالة التي () مع شروط متعددة
يمكنك استخدام الطرق التالية لاستخدام الدالة التي() مع شروط متعددة في R:
الطريقة الأولى: التي () بشروط متعددة باستخدام AND
new_df <- df[which(df$my_column >= 14 & df$my_column <= 25), ]
الطريقة الثانية: التي () بشروط متعددة باستخدام OR
new_df <- df[which(df$my_column < 14 | df$my_column > 25), ]
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'),
points=c(10, 13, 13, 15, 19, 22, 24, 25, 29, 35))
#view data frame
df
player points
1 to 10
2 B 13
3 C 13
4 D 15
5 E 19
6 F 22
7 G 24
8:25 a.m.
9 I 29
10 D 35
المثال 1: الذي () مع شروط متعددة باستخدام AND
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة who() لتصفية إطار البيانات ليحتوي فقط على الصفوف التي تكون قيمتها في عمود النقاط أكبر من أو تساوي 14 وأقل من أو تساوي 25:
#filter for players who score between 14 and 25 points
new_df <- df[which(df$points >= 14 & df$points <= 25), ]
#view results
new_df
player points
4 D 15
5 E 19
6 F 22
7 G 24
8:25 a.m.
لاحظ أنه تتم تصفية إطار البيانات ليحتوي فقط على الصفوف التي تكون قيمتها في عمود النقاط أكبر من أو تساوي 14 وأقل من أو تساوي 25.
لاحظ أنه يتم استخدام عامل التشغيل كعبارة “و” في R.
المثال 2: الذي () بشروط متعددة باستخدام OR
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة who() لتصفية إطار البيانات ليحتوي فقط على الصفوف التي تكون قيمتها في عمود النقطة أقل من 14 أو أكبر من 25:
وبخلاف ذلك، فإنه يعين القيمة “سيئة”:
#filter for players who score less than 14 or greater than 25 points
new_df <- df[which(df$points < 14 | df$points > 25), ]
#view results
new_df
player points
1 to 10
2 B 13
3 C 13
9 I 29
10 D 35
لاحظ أنه تتم تصفية إطار البيانات ليحتوي فقط على الصفوف التي تكون قيمتها في عمود النقاط أقل من 14 أو أكبر من 25.
لاحظ أن | يتم استخدام عامل التشغيل كبيان “أو” في R.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية استخدام عبارة If مع شروط متعددة في R
كيفية كتابة عبارة If Else المتداخلة في R
كيفية كتابة حلقة For متداخلة في R