Hoe de intersect()-functie in r te gebruiken (met voorbeelden)
U kunt de functie intersect() in basis R gebruiken om het snijpunt van twee objecten te vinden.
Het ‘kruispunt’ vertegenwoordigt eenvoudigweg de elementen die de twee objecten gemeen hebben.
Deze functie gebruikt de volgende basissyntaxis:
intersect(object1, object2)
De volgende voorbeelden laten zien hoe u de functie intersect() gebruikt met vectoren en dataframes.
Voorbeeld 1: Gebruik intersect() met vectoren
De volgende code laat zien hoe u de functie intersect() gebruikt om het snijpunt tussen twee vectoren in R te vinden:
#define two vectors x <- c(1, 4, 5, 5, 9, 12, 19) y <- c(1, 2, 5, 5, 10, 14, 19) #find intersection between two vectors intersect(x,y) [1] 1 5 19
Uit het resultaat kunnen we zien dat de vectoren x en y drie waarden gemeen hebben: 1 , 5 en 19 .
Merk op dat de functie intersect() ook werkt met karaktervectoren:
#define two vectors x <- c('A', 'B', 'C', 'D', 'E') y <- c('C', 'D', 'E', 'F') #find intersection between two vectors intersect(x,y) [1] “C” “D” “E”
Uit het resultaat kunnen we zien dat de vectoren x en y drie strings gemeen hebben: C , D en E.
Merk op dat de twee vectoren niet dezelfde lengte hoeven te hebben om de functie intersect() te laten werken.
Voorbeeld 2: Gebruik intersect() met dataframes
Om de lijnen te vinden die twee dataframes gemeen hebben, moeten we de functie intersect() uit het dplyr- pakket gebruiken.
De volgende code laat zien hoe u deze functie kunt gebruiken om rijen te vinden die twee gegevensframes gemeen hebben:
library (dplyr) #define two data frames df1 <- data. frame (team=c('A', 'A', 'B', 'B'), dots=c(12, 20, 25, 19)) df1 team points 1 to 12 2 to 20 3 B 25 4 B 19 df2 <- data. frame (team=c('A', 'A', 'B', 'C'), dots=c(12, 22, 25, 32)) df2 team points 1 to 12 2 to 22 3 B 25 4 C 32 #find intersection between two data frames dplyr::intersect(df1, df2) team points 1 to 12 2 B 25
Uit het resultaat kunnen we zien dat de dataframes twee rijen gemeen hebben.
Houd er rekening mee dat deze functie intersect() alleen rijen retourneert die dezelfde waarden hebben in elke kolom tussen de twee dataframes.
Merk ook op dat we de functie length() kunnen gebruiken met de functie intersect() om eenvoudigweg het aantal rijen te vinden dat de twee dataframes gemeen hebben:
#find number of rows in common between the two data frames
length(dplyr::intersect(df1, df2))
[1] 2
Uit het resultaat kunnen we zien dat beide dataframes twee rijen gemeen hebben.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in R kunt gebruiken:
Hoe de dim()-functie in R te gebruiken
Hoe de transform()-functie in R te gebruiken
Hoe de sweep()-functie in R te gebruiken