Jak korzystać z funkcji intersect() w r (z przykładami)
Możesz użyć funkcji intersect() w bazie R, aby znaleźć przecięcie dwóch obiektów.
„Przecięcie” reprezentuje po prostu elementy wspólne obu obiektów.
Ta funkcja wykorzystuje następującą podstawową składnię:
intersect(object1, object2)
Poniższe przykłady pokazują, jak używać funkcji intersect() z wektorami i ramkami danych.
Przykład 1: Użyj funkcji intersect() z wektorami
Poniższy kod pokazuje, jak użyć funkcji intersect() do znalezienia punktu przecięcia dwóch wektorów w R:
#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
Z wyniku widzimy, że wektory x i y mają trzy wspólne wartości: 1 , 5 i 19 .
Zauważ, że funkcja intersect() działa również z wektorami znakowymi:
#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”
Z wyniku widzimy, że wektory x i y mają trzy wspólne ciągi: C , D i E.
Należy pamiętać, że oba wektory nie muszą mieć tej samej długości, aby funkcja intersect() działała.
Przykład 2: Użyj funkcji intersect() z ramkami danych
Aby znaleźć linie wspólne dla dwóch ramek danych, musimy skorzystać z funkcji intersect() z pakietu dplyr .
Poniższy kod pokazuje, jak używać tej funkcji do znajdowania wierszy wspólnych dla dwóch ramek danych:
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
Z wyniku widzimy, że ramki danych mają dwa wspólne wiersze.
Zauważ, że ta funkcja intersect() zwróci tylko wiersze, które mają te same wartości w każdej kolumnie pomiędzy dwiema ramkami danych.
Zauważ również, że możemy użyć funkcji długość() z funkcją intersect() , aby po prostu znaleźć liczbę wierszy wspólnych dla obu ramek danych:
#find number of rows in common between the two data frames
length(dplyr::intersect(df1, df2))
[1] 2
Z wyniku widzimy, że obie ramki danych mają 2 wspólne wiersze.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:
Jak korzystać z funkcji dim() w R
Jak korzystać z funkcji transform() w R
Jak korzystać z funkcji swep() w R