R에서 setdiff 함수를 사용하는 방법(예제 포함)


R의 setdiff() 함수를 사용하면 두 세트 간의 차이점을 찾을 수 있습니다. 이 함수는 다음 구문을 사용합니다.

setdiff(x,y)

금:

  • x, y: 일련의 요소를 포함하는 벡터 또는 데이터 프레임

이 튜토리얼에서는 이 기능의 실제 사용에 대한 몇 가지 예를 제공합니다.

예제 1: 숫자형 벡터를 사용한 Setdiff

다음 코드는 setdiff()를 사용하여 벡터 b 에 나타나지 않는 벡터 a 의 모든 값을 식별하는 방법을 보여줍니다.

 #definevectors
a <- c(1, 3, 4, 5, 9, 10)
b <- c(1, 2, 3, 4, 5, 6)

#find all values in a that do not occur in b
setdiff (a,b)

[1] 9 10

벡터 a 에는 나타나지만 벡터 b 에는 나타나지 않는 두 가지 값인 910이 있습니다.

setdiff() 함수에서 벡터의 순서를 바꾸면 대신 벡터 a 에 나타나지 않는 벡터 b 의 모든 값을 식별할 수 있습니다.

 #find all values in b that do not occur in a
setdiff (b,a)

[1] 2 6

벡터 a 에는 나타나지 않지만 벡터 b 에는 나타나는 두 가지 값, 즉 26이 있습니다.

예제 2: 문자형 벡터를 사용한 Setdiff

다음 코드는 char2 벡터에 나타나지 않는 char1 벡터의 모든 값을 식별하기 위해 setdiff()를 사용하는 방법을 보여줍니다.

 #define character vectors
char1 <- c('A', 'B', 'C', 'D', 'E')
char2 <- c('A', 'B', 'E', 'F', 'G')

#find all values in char1 that do not occur in char2
setdiff (char1, char2)

[1] “C” “D”

예 3: 데이터 프레임을 사용한 Setdiff

다음 코드는 setdiff()를 사용하여 두 번째 데이터 프레임의 동일한 열에 나타나지 않는 데이터 프레임 열의 모든 값을 식별하는 방법을 보여줍니다.

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 94, 104))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 98, 99))

#find differences between the points columns in the two data frames
setdiff (df1$points, df2$points)

[1] 94 104

첫 번째 데이터 프레임의 포인트 열에는 값 94104가 나타나지만 두 번째 데이터 프레임의 포인트 열에는 나타나지 않는 것을 볼 수 있습니다.

추가 리소스

R의 특정 열을 합산하는 방법
R에서 특정 행을 합산하는 방법
R에서 부분 문자열 일치를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다