كيفية إزالة na من matrix in r (مع مثال)


يمكنك استخدام الطرق التالية لإزالة قيم NA من مصفوفة في R:

الطريقة الأولى: إزالة الصفوف ذات القيم NA

 new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]

الطريقة الثانية: إزالة الأعمدة ذات قيم NA

 new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع المصفوفة التالية في R:

 #create matrix
my_matrix <- matrix(c(NA, 0, NA, 5, 7, 4, 1, 3, 9, 5, 5, 8), nrow= 4 )

#view matrix
my_matrix

     [,1] [,2] [,3]
[1,] NA 7 9
[2,] 0 4 5
[3,] NA 1 5
[4,] 5 3 8

الطريقة الأولى: إزالة الصفوف ذات القيم NA

يوضح التعليمة البرمجية التالية كيفية إزالة كافة الصفوف من المصفوفة التي تحتوي على قيم NA:

 #remove all rows with NA values
new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]

#view updated matrix
new_matrix

     [,1] [,2] [,3]
[1,] 0 4 5
[2,] 5 3 8

لاحظ أنه تمت إزالة جميع الصفوف ذات قيم NA من المصفوفة.

ذات صلة:كيفية استخدام الدالةrowSums() في R

الطريقة الثانية: إزالة الأعمدة ذات قيم NA

يوضح التعليمة البرمجية التالية كيفية إزالة كافة الأعمدة من المصفوفة التي تحتوي على قيم NA:

 #remove all columns with NA values
new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]

#view updated matrix
new_matrix

     [,1] [,2]
[1,] 7 9
[2,] 4 5
[3,] 1 5
[4,] 3 8

لاحظ أنه تمت إزالة جميع الأعمدة ذات قيم NA من المصفوفة.

ذات صلة: كيفية استخدام الدالة colSums() في R

المكافأة: تحويل قيم NA إلى صفر في المصفوفة

إذا كنت تريد ببساطة تحويل جميع قيم NA إلى صفر في مصفوفة، فيمكنك استخدام بناء الجملة التالي:

 #remove all columns with NA values
my_matrix[is. na (my_matrix)] <- 0

#view updated matrix
my_matrix

     [,1] [,2] [,3]
[1,] 0 7 9
[2,] 0 4 5
[3,] 0 1 5
[4,] 5 3 8

لاحظ أنه تم تحويل كافة قيم NA إلى الصفر.

مصادر إضافية

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

كيفية إزالة قيم NA من المتجه في R
كيفية البحث عن القيم المفقودة وحسابها في R
كيفية احتساب جميع القيم المفقودة في R

Add a Comment

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