كيفية إزالة 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