Hoe specifieke elementen uit vector in r te verwijderen


U kunt de volgende basissyntaxis gebruiken om specifieke elementen uit een vector in R te verwijderen:

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

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Elementen verwijderen uit karaktervector

De volgende code laat zien hoe je elementen uit een karaktervector in R verwijdert:

 #definevector
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" 

Merk op dat „Mavs“ en „Spurs“ uit de vector zijn verwijderd.

Voorbeeld 2: Elementen verwijderen uit de numerieke vector

De volgende code laat zien hoe je elementen uit een numerieke vector in R verwijdert:

 #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

Merk op dat elk voorkomen van waarden 1, 4 en 5 uit de vector is verwijderd.

We kunnen ook een bereik van waarden specificeren die we uit de numerieke vector willen verwijderen:

 #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

Merk op dat elke waarde tussen 2 en 10 uit de vector is verwijderd.

We kunnen ook waarden verwijderen die groter of kleiner zijn dan een specifiek getal:

 #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

Aanvullende bronnen

Hoe gegevensframes in R te verwijderen
Hoe meerdere kolommen in R te verwijderen
Hoe waarden aan een vector toe te voegen met behulp van een lus in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert