Как удалить na из matrix в r (с примером)


Вы можете использовать следующие методы для удаления значений NA из матрицы в R:

Способ 1. Удаление строк со значениями NA.

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

Способ 2: удалить столбцы со значениями 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

Способ 1. Удаление строк со значениями 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

Способ 2: удалить столбцы со значениями 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *