Come sostituire i valori in una matrice in r (con esempi)


È possibile utilizzare i seguenti metodi per sostituire valori specifici in una matrice in R:

Metodo 1: sostituisci gli elementi con un valore specifico

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

Metodo 2: sostituisci gli elementi in base a una condizione

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

Metodo 3: sostituzione di elementi in base a più condizioni

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

I seguenti esempi mostrano come utilizzare in pratica ciascun metodo con la seguente matrice in 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

Esempio 1: sostituisci gli elementi con un valore specifico

Il codice seguente mostra come sostituire tutti gli elementi uguali al valore 5 con il valore 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

Da notare che l’elemento pari al valore 5 è stato sostituito con il valore 100 .

Tutti gli altri elementi sono rimasti invariati nella matrice.

Esempio 2: sostituire gli elementi in base a una condizione

Il codice seguente mostra come sostituire tutti gli elementi con un valore inferiore a 15 con il valore 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

Si noti che ciascuno degli elementi con un valore inferiore a 15 è stato sostituito con un valore pari a 0 .

Esempio 3: sostituzione di elementi in base a più condizioni

Il codice seguente mostra come sostituire tutti gli elementi con un valore compreso tra 10 e 15 con un valore di 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

Si noti che ciascuno degli elementi con un valore compreso tra 10 e 15 è stato sostituito con un valore di 99 .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come ordinare una matrice in R
Come rimuovere NA da Matrix in R
Come convertire un dataframe in una matrice in R
Come convertire una tabella in una matrice in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *