كيفية كتابة عبارة if else المتداخلة في لغة r (مع أمثلة)
يمكن استخدام الدالة ifelse() في قاعدة R لكتابة عبارات if-else سريعة. تستخدم هذه الوظيفة بناء الجملة التالي:
إذا كان (اختبار، نعم، لا)
ذهب:
- الاختبار: اختبار منطقي
- نعم: القيمة التي سيتم إرجاعها إذا كان اختبار المنطق صحيحًا
- no: القيمة التي سيتم إرجاعها إذا كان اختبار المنطق خطأ
يشرح هذا البرنامج التعليمي كيفية استخدام هذه الوظيفة لكتابة عبارات if else بالإضافة إلى عبارات if else المتداخلة في R، باستخدام إطار البيانات التالي:
#create data frame df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'), points = c(4, 7, 8, 8, 8, 9, 12), rebounds = c(3, 3, 4, 4, 6, 7, 7)) #view data frame df team points rebounds 1 to 4 3 2 to 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
المثال 1: كيفية كتابة بيان أساسي في حالة وجود شيء آخر
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد في إطار البيانات الذي تعتمد قيمته على قيمة عمود “الفريق”:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ') #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 bad 4 B 8 4 bad 5 B 8 6 bad 6 C 9 7 bad 7 D 12 7 bad
هذا البيان البسيط ifelse يخبر R بالقيام بما يلي:
- إذا كانت القيمة في عمود الفريق هي “A”، فامنح اللاعب تقييمًا “ممتاز”.
- خلاف ذلك، يغيب عن اللاعب “الفقراء”.
مثال 2: كيفية كتابة عبارة If Else المتداخلة
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد في إطار البيانات عن طريق كتابة عبارة if else المتداخلة:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ' bad ')) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 bad 7 D 12 7 bad
تطلب عبارة ifelse المتداخلة من R القيام بما يلي:
- إذا كانت القيمة في عمود الفريق هي “A”، فامنح اللاعب تقييمًا “ممتاز”.
- بخلاف ذلك، إذا كانت القيمة الموجودة في عمود الفريق هي “B”، فامنح اللاعب تقييمًا بـ “موافق”.
- خلاف ذلك، يغيب عن اللاعب “الفقراء”.
المثال 3: كيفية كتابة عبارات متداخلة لفترة أطول إذا كانت هناك عبارات أخرى
يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد في إطار البيانات عن طريق كتابة عبارة if else أطول:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ifelse (df$team == ' C ', ' decent ', ' bad '))) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decent 7 D 12 7 bad
تطلب عبارة ifelse المتداخلة من R القيام بما يلي:
- إذا كانت القيمة في عمود الفريق هي “A”، فامنح اللاعب تقييمًا “ممتاز”.
- بخلاف ذلك، إذا كانت القيمة الموجودة في عمود الفريق هي “B”، فامنح اللاعب تقييمًا بـ “موافق”.
- بخلاف ذلك، إذا كانت القيمة الموجودة في عمود الفريق هي “C”، فامنح اللاعب تقييمًا “لائقًا”.
- خلاف ذلك، يغيب عن اللاعب “الفقراء”.
لاحظ أنه يمكنك استخدام هذا النمط الدقيق لكتابة عبارات ifelse المتداخلة للمدة التي تريدها.
يمكنك العثور على المزيد من دروس R هنا .