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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *