Como substituir valores em uma matriz em r (com exemplos)


Você pode usar os seguintes métodos para substituir valores específicos em uma matriz em R:

Método 1: Substitua itens por um valor específico

 #replace 5 with 100
my_matrix[my_matrix == 5] <- 100

Método 2: Substitua itens com base em uma condição

 #replace elements with value less than 15 with 0
my_matrix[my_matrix < 15] <- 0

Método 3: substituir elementos com base em múltiplas condições

 #replace elements with value between 10 and 15 with 99
my_matrix[my_matrix >= 10 & my_matrix <= 15] <- 99

Os exemplos a seguir mostram como usar cada método na prática com a seguinte matriz em R:

 #create matrix
my_matrix <- matrix(1:20, nrow = 5 )

#display matrix
my_matrix

     [,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20

Exemplo 1: Substitua itens por um valor específico

O código a seguir mostra como substituir todos os elementos iguais ao valor 5 pelo valor 100 :

 #replace 5 with 100
my_matrix[my_matrix == 5] <- 100

#view updated matrix
my_matrix

     [,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 100 10 15 20

Observe que o elemento igual ao valor 5 foi substituído por um valor de 100 .

Todos os outros elementos permaneceram inalterados na matriz.

Exemplo 2: Substitua elementos com base em uma condição

O código a seguir mostra como substituir todos os elementos com valor menor que 15 pelo valor 0 :

 #replace elements with value less than 15 with 100
my_matrix[my_matrix < 15] <- 0

#view updated matrix
my_matrix

     [,1] [,2] [,3] [,4]
[1,] 0 0 0 16
[2,] 0 0 0 17
[3,] 0 0 0 18
[4,] 0 0 0 19
[5,] 0 0 15 20

Observe que cada um dos elementos com valor menor que 15 foi substituído por um valor 0 .

Exemplo 3: Substitua elementos com base em múltiplas condições

O código a seguir mostra como substituir todos os elementos com valor entre 10 e 15 por um valor de 99 :

 #replace elements with value between 10 and 15 with 99
my_matrix[my_matrix >= 10 & my_matrix <= 15] <- 99

#view updated matrix
my_matrix

     [,1] [,2] [,3] [,4]
[1,] 1 6 99 16
[2,] 2 7 99 17
[3,] 3 8 99 18
[4,] 4 9 99 19
[5,] 5 99 99 20

Observe que cada um dos elementos com valor entre 10 e 15 foi substituído por um valor de 99 .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como classificar uma matriz em R
Como remover NA da Matrix em R
Como converter um dataframe em uma matriz em R
Como converter uma tabela em uma matriz em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *