كيفية التقاط عدد صحيح (0) في r (مع أمثلة)
في بعض الأحيان عند استخدام الدالة who() في R، قد ينتهي بك الأمر بعدد صحيح (0) مما يشير إلى عدم تقييم أي من العناصر الموجودة في المتجه إلى TRUE.
على سبيل المثال، لنفترض أننا استخدمنا الكود التالي للتحقق من عناصر المتجه التي تساوي القيمة 10:
#define vector of values data <- c(1, 2, 4, 4, 5, 7, 8, 9) #find elements in vector equal to 10 x <- which(data == 10 ) #view results x integer(0)
بما أن أيًا من العناصر الموجودة في المتجه لا يساوي 10، فإن النتيجة هي عدد صحيح بطول 0، مكتوب كعدد صحيح (0) في R.
من المهم ملاحظة أن العدد الصحيح (0) ليس خطأ، ولكن في بعض الأحيان قد ترغب فقط في معرفة متى يحدث ذلك.
توضح الأمثلة التالية كيفية التقاط عدد صحيح (0) في R.
مثال 1: احصل على عدد صحيح (0) في R باستخدام الدالة المتطابقة ().
أسهل طريقة للحصول على عدد صحيح (0) في R هي استخدام الدالة المتطابقة () مثل هذا:
#define vector of values data <- c(1, 2, 4, 4, 5, 7, 8, 9) #find elements in vector equal to 10 x <- which(data == 10 ) #test if x is identical to integer(0) identical(x, integer(0)) [1] TRUE
بما أن النتيجة تساوي عددًا صحيحًا (0) ، فإن R تُرجع TRUE .
يتيح لنا هذا معرفة أن نتيجة الدالة التي () هي عدد صحيح بطول 0.
مثال 2: التقاط عدد صحيح (0) في R باستخدام الدالة if else
هناك طريقة أخرى للتعرف على عدد صحيح (0) وهي تحديد دالة if else التي تُرجع شيئًا محددًا في حالة ظهور عدد صحيح (0) .
على سبيل المثال، يمكننا تعريف الدالة التالية لإرجاع العبارة “إنه عدد صحيح (0)” إذا ظهر عدد صحيح (0) :
#define function to catch integer(0) integer0_test <- function (data) { if (identical(data, integer(0))) { return (' It is an integer(0) ') } else { return (data) } }
يمكننا بعد ذلك استخدام هذه الوظيفة:
#define vector of values data <- c(1, 2, 4, 4, 5, 7, 8, 9) #find elements in vector equal to 10 x <- which(data == 10 ) #use function to test if x is integer(0) integer0_test(x) [1] "It is an integer(0)"
بما أن x هو بالفعل عدد صحيح(0) ، فإن وظيفتنا ترجع الجملة التي حددناها.
وإذا لم يكن x عددًا صحيحًا(0) ، فستُرجع الدالة ببساطة نتيجة الدالة التي():
#define vector of values data <- c(1, 2, 4, 4, 5, 7, 8, 9) #find elements in vector equal to 4 x <- which(data == 4 ) #use function to test if x is integer(0) integer0_test(x) [1] 3 4
تقوم وظيفتنا بإرجاع 3 و 4 لأن هذه هي مواضع العناصر المتجهة التي تساوي القيمة 4.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية كتابة دالة TryCatch() الأولى في R
كيفية إنشاء حلقة For متداخلة في R
كيفية إرجاع قيمة دالة في R