지난 번 2016/09/08 - [R] - [R.아르] R에서 엑셀의 vlookup() 기능 사용하기 에서 본 merge()는
일종의 '교집합'을 구하는 함수로 생각해도 되겠다.
이번엔 차집합을 구하는 함수를 알아보자.
예를들어 다음과 같은 x, y에서
x에만 있고 y에는 없는 것을 고르려면
setdiff() 함수를 사용하면 된다.
반대로 y에만 있고 x에는 없는 것을 고르려면
순서를 반대로 사용한다.
내친 김에 합집합, 교집합, 부분집합도 알아보자.
합집합은 union() 함수를 사용한다.
사용하는 순서에 따라 원소의 배열이 다르며
자동으로 정렬되지는 않는다.
정렬하려면 sort()를 사용하자.
교집합은 intersect()를 사용한다.
한 집합이 다른 집합의 부분집합인지도 알 수 있다.
예를들어 다음과 같은 x, y의 경우
is.element() 함수를 쓰면 x의 원소 4개가 모두 y에 속한다고 알려준다.
물론 반대로 쓰면 속하지 않는 것을 False로 표시해 준다.
부분집합인지 여부를 한 번에 보고싶다면 all() 함수를 사용하자.
all() 함수는 괄호 안의 벡터가 모두 TRUE인지, 하나라도 FALSE가 있는지 알려주는 함수다.
마지막으로, 어떤 두 집합이 완전히 동일한지 알고 싶다면
setequal()을 사용한다.
반응형
'R' 카테고리의 다른 글
[R.아르] R의 작업 디렉토리Working Directory 변경하기 (0) | 2016.09.28 |
---|---|
[R.아르] 찾아바꾸기(2) lapply() / if() (0) | 2016.09.26 |
[R.아르] 찾아바꾸기 gsub() (1) | 2016.09.26 |
[R.아르] 원하는 순서로 데이터 정렬하기 order() (0) | 2016.09.26 |
[R.아르] R에서 피벗테이블 사용하기 dcast() (2) | 2016.09.23 |
[R. 아르] 내용 합치기 paste() (0) | 2016.09.22 |
[R.아르] 중복된 행 삭제하기 unique() / duplicated() (0) | 2016.09.12 |
[R.아르] 중복된 값의 개수 세기(엑셀의 countif) (1) | 2016.09.09 |
[R.아르] R에서 엑셀의 vlookup() 기능 사용하기 (0) | 2016.09.08 |
[R.아르] 특정 조건에 맞는 글자(이메일 주소)만 추출하기 (1) | 2016.09.06 |
댓글