Comment remplacer des valeurs dans une matrice dans R (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour remplacer des valeurs spécifiques dans une matrice dans R :
Méthode 1 : remplacer les éléments par une valeur spécifique
#replace 5 with 100 my_matrix[my_matrix==5] <- 100
Méthode 2 : remplacer les éléments en fonction d’une condition
#replace elements with value less than 15 with 0 my_matrix[my_matrix<15] <- 0
Méthode 3 : remplacer des éléments en fonction de plusieurs conditions
#replace elements with value between 10 and 15 with 99 my_matrix[my_matrix>=10 & my_matrix<=15] <- 99
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec la matrice suivante dans 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
Exemple 1 : remplacer les éléments par une valeur spécifique
Le code suivant montre comment remplacer tous les éléments égaux à la valeur 5 par la valeur 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
Notez que l’élément égal à la valeur 5 a été remplacé par une valeur de 100 .
Tous les autres éléments sont restés inchangés dans la matrice.
Exemple 2 : remplacer des éléments en fonction d’une condition
Le code suivant montre comment remplacer tous les éléments ayant une valeur inférieure à 15 par la valeur 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
Notez que chacun des éléments ayant une valeur inférieure à 15 a été remplacé par une valeur de 0 .
Exemple 3 : Remplacer des éléments en fonction de plusieurs conditions
Le code suivant montre comment remplacer tous les éléments ayant une valeur comprise entre 10 et 15 par une valeur 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
Notez que chacun des éléments ayant une valeur comprise entre 10 et 15 a été remplacé par une valeur de 99 .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment trier une matrice dans R
Comment supprimer NA de Matrix dans R
Comment convertir une trame de données en matrice dans R
Comment convertir une table en matrice dans R