Como remover na da matrix em r (com exemplo)
Você pode usar os seguintes métodos para remover valores NA de uma matriz em R:
Método 1: remover linhas com valores NA
new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]
Método 2: remover colunas com valores NA
new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]
Os exemplos a seguir mostram como usar cada método na prática com a seguinte matriz em 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
Método 1: remover linhas com valores NA
O código a seguir mostra como remover todas as linhas da matriz que contêm valores 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
Observe que todas as linhas com valores NA foram removidas da matriz.
Relacionado: Como usar a função rowSums() em R
Método 2: remover colunas com valores NA
O código a seguir mostra como remover todas as colunas da matriz que contêm valores 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
Observe que todas as colunas com valores NA foram removidas da matriz.
Relacionado: Como usar a função colSums() em R
Bônus: converta os valores de NA para zero na matriz
Se você deseja simplesmente converter todos os valores NA em zero em uma matriz, você pode usar a seguinte sintaxe:
#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
Observe que todos os valores de NA foram convertidos para zero.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns com valores ausentes em R:
Como remover valores NA do vetor em R
Como encontrar e contar valores ausentes em R
Como imputar todos os valores ausentes em R