كيفية التعامل مع قيم nan في r (مع أمثلة)


في R، NaN تعني ليس رقمًا.

عادةً ما تحدث قيم NaN عند محاولة إجراء عملية حسابية تؤدي إلى نتيجة غير صالحة.

على سبيل المثال، تؤدي القسمة على صفر أو حساب سجل الرقم السالب إلى إنتاج قيم NaN:

 #attempt to divide by zero
0 / 0

[1]NaN

#attempt to calculate log of negative value
log(-12)

[1]NaN

لاحظ أن قيم NaN تختلف عن قيم NA ، والتي تمثل ببساطة القيم المفقودة.

يمكنك استخدام الطرق التالية للتعامل مع قيم NaN في R:

 #identify positions in vector with NaN values
which(is. nan (x))

#count total NaN values in vector
sum(is. nan (x)) 

#remove NaN values in vector
x_new <- x[!is. no (x)]

#replace NaN values in vector
x[is. nan (x)] <- 0 

توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا.

مثال 1: تحديد المواضع في متجه بقيم NaN

يوضح التعليمة البرمجية التالية كيفية تحديد المواضع في المتجه الذي يحتوي على قيم NaN:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#identify positions with NaN values
which(is. nan (x))

[1] 2 4

من النتيجة، يمكننا أن نرى أن العناصر الموجودة في الموضعين 2 و 4 في المتجه هي قيم NaN.

مثال 2: حساب إجمالي قيم NaN في المتجه

يوضح الكود التالي كيفية حساب العدد الإجمالي لقيم NaN في المتجه في R:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#identify positions with NaN values
sum(is. nan (x))

[1] 2

من النتيجة يمكننا أن نرى أن هناك قيمتين إجماليتين لـ NaN في المتجه.

مثال 3: إزالة قيم NaN في المتجه

يوضح الكود التالي كيفية إنشاء متجه جديد مع إزالة قيم NaN من المتجه الأصلي:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#define new vector with NaN values removed
x_new <- x[!is. no (x)]

#view new vector
x_new

[1] 1 12 50 30

لاحظ أنه تمت إزالة قيمتي NaN من المتجه.

مثال 4: استبدال قيم NaN في المتجه

يوضح الكود التالي كيفية استبدال قيم NaN في المتجه بالأصفار:

 #create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)

#replace NaN values with zero
x[is. nan (x)] <- 0

#view updated vector
x

[1] 1 0 12 0 50 30

لاحظ أنه تم استبدال قيمتي NaN بأصفار في المتجه.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:

كيفية استيفاء القيم المفقودة في R
كيفية البحث عن القيم المفقودة وحسابها في R
كيفية استخدام “Is Not NA” في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *