Как удалить 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