Comment supprimer des éléments spécifiques du vecteur dans R



Vous pouvez utiliser la syntaxe de base suivante pour supprimer des éléments spécifiques d’un vecteur dans R :

#remove 'a', 'b', 'c' from my_vector
my_vector[! my_vector %in% c('a', 'b, 'c')]

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Supprimer des éléments du vecteur de caractères

Le code suivant montre comment supprimer des éléments d’un vecteur de caractères dans R :

#define vector
x <- c('Mavs', 'Nets', 'Hawks', 'Bucks', 'Spurs', 'Suns')

#remove 'Mavs' and 'Spurs' from vector
x <- x[! x %in% c('Mavs', 'Spurs')]

#view updated vector
x

[1] "Nets"  "Hawks" "Bucks" "Suns" 

Notez que « Mavs » et « Spurs » ont été supprimés du vecteur.

Exemple 2 : supprimer des éléments du vecteur numérique

Le code suivant montre comment supprimer des éléments d’un vecteur numérique dans R :

#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)

#remove 1, 4, and 5
x <- x[! x %in% c(1, 4, 5)]

#view updated vector
x

[1]  2  2  2  3  7  7  8  9 12 12 13

Notez que chaque occurrence des valeurs 1, 4 et 5 a été supprimée du vecteur.

Nous pouvons également spécifier une plage de valeurs que nous souhaitons supprimer du vecteur numérique :

#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)

#remove values between 2 and 10
x <- x[! x %in% 2:10]

#view updated vector
x

[1]  1 12 12 13

Notez que chaque valeur comprise entre 2 et 10 a été supprimée du vecteur.

Nous pouvons également supprimer les valeurs supérieures ou inférieures à un nombre spécifique :

#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)

#remove values less than 3 or greater than 10
x <- x[!(x < 3 | x > 10)]

#view updated vector
x

[1] 3 4 5 5 7 7 8 9

Ressources additionnelles

Comment supprimer des trames de données dans R
Comment supprimer plusieurs colonnes dans R
Comment ajouter des valeurs à un vecteur à l’aide d’une boucle dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *