R에서 intersect() 함수를 사용하는 방법(예제 포함)
기본 R의 intersect() 함수를 사용하여 두 객체의 교차점을 찾을 수 있습니다.
“교차점”은 단순히 두 개체가 공통적으로 갖는 요소를 나타냅니다.
이 함수는 다음 기본 구문을 사용합니다.
intersect(object1, object2)
다음 예에서는 벡터 및 데이터 프레임에 intersect() 함수를 사용하는 방법을 보여줍니다.
예 1: 벡터에 intersect() 사용
다음 코드는 R에서 두 벡터 사이의 교차점을 찾기 위해 intersect() 함수를 사용하는 방법을 보여줍니다.
#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
결과에서 우리는 벡터 x와 y가 1 , 5 , 19 라는 세 가지 값을 공통으로 가지고 있음을 알 수 있습니다.
intersect() 함수는 문자 벡터에도 작동합니다.
#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”
결과에서 벡터 x와 y에는 C , D , E 라는 세 개의 공통 문자열이 있음을 알 수 있습니다.
intersect() 함수가 작동하기 위해 두 벡터의 길이가 동일할 필요는 없습니다.
예제 2: 데이터 프레임에 intersect() 사용
두 데이터 프레임이 공통으로 갖고 있는 라인을 찾으려면 dplyr 패키지의 intersect() 함수를 사용해야 합니다.
다음 코드는 이 함수를 사용하여 두 데이터 프레임이 공통으로 갖는 행을 찾는 방법을 보여줍니다.
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
결과에서 데이터 프레임에 두 개의 공통 행이 있음을 알 수 있습니다.
이 intersect() 함수는 두 데이터 프레임 사이의 각 열에 동일한 값이 있는 행만 반환한다는 점에 유의하세요.
또한 length() 함수를 intersect() 함수와 함께 사용하면 두 데이터 프레임이 공통적으로 갖는 행 수를 간단하게 찾을 수 있습니다.
#find number of rows in common between the two data frames
length(dplyr::intersect(df1, df2))
[1] 2
결과에서 우리는 두 데이터 프레임 모두 2 개의 공통 행을 가지고 있음을 알 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.
R에서 Dim() 함수를 사용하는 방법
R에서 변환() 함수를 사용하는 방법
R에서swep() 함수를 사용하는 방법