Як видалити 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