[Data Science With R] 8. 관계형 데이터

2023. 4. 1. 21:30·Data Science/Manipulation

0. 키(Key)

  • 정의 : 각 테이블 쌍을 연결하는데 사용되는 변수들의 집합으로 관측값을 고유하게 식별
  • 기본키(primary key) : 자신의 테이블에서 관측값을 고유하게 식별하는 키
    • 기본키는 중북되거나 NA값이 존재하면 안됨
    • 변수 tailnum은 테이블 planes의 기본키
  • 외래키(foreign key) : 다른 테이블의 기본키를 참조하는 키 
    • 외래키는 중복되거나 NA값이 존재해도 됨
    • 변수 tailnum은 테이블 flights의 외래키

 

1. 뮤테이팅 조인 (Mutating Join)

inner_join(x, y, by) 내부 조인 두 테이블의 키값이 같으면 매칭
left_join(x, y, by) 왼쪽 외부 조인 왼쪽 테이블의 키를 중심으로 매칭
right_join(x, y, by) 오른쪽 외부 조인 오른쪽 테이블의 키를 중심으로 매칭
full_join(x, y, by) 전체 외부 조인 두 테이블의 모든 키를 중심으로 매칭

 

  • base::merge( )를 이용해 뮤테이팅 조인 수행 가능
  • 키 값이 중복된 경우 중복된 키의 가능한 모든 조합인 데카르트곱에서 조건 확인
  • 조인의 파라미터 by로 어떤 변수(들)로 조인할지 정할 수 있다.
  • by = c("a"=b")를 통해 테이블 x의 a변수와 테이블 y의 b변수를 매칭
  • by = join_by함수를 사용해 non-equi join 수행할 수 있음

2. 필터링 조인 (Filtering Join)

semi_join(x, y, by) 세미조인 y와 매칭되는 x의 모든 관측값을 보존
anti_join(x, y, by) 안티조인 y와 매칭되는 x의 모든 관측값을 삭제

 

    • 세미조인 : 필터링된 요약 테이블을 기존 테이블 어떤 행에서 출력되었는지 확인
    • 안티조인 : 조인 불일치를 진단하는데 유용

3. 집합 연산

intersect(x, y) x, y 모두에 있는 관측값만 반환
union(x, y) x와 y의 고유한 관측값을 반환
setdiff(x, y) x에 있지만 y에 없는 관측값만을 반환
저작자표시 비영리 변경금지 (새창열림)

'Data Science > Manipulation' 카테고리의 다른 글

[Data Science With R] 10. 범주형 데이터 조작 with forcats (202406)  (0) 2023.04.08
[Data Science With R] 9. 정규표현식(Regular Expression) with Stringr (202406)  (0) 2023.04.04
[Data Science With R] 7. 데이터 변형 with tidyr (202405)  (1) 2023.04.01
[Data Science With R] 6. 파싱(Parsing) (202405)  (0) 2023.03.31
[Data Science With R] 5. readr로 파일 읽기 (202503)  (0) 2023.03.31
'Data Science/Manipulation' 카테고리의 다른 글
  • [Data Science With R] 10. 범주형 데이터 조작 with forcats (202406)
  • [Data Science With R] 9. 정규표현식(Regular Expression) with Stringr (202406)
  • [Data Science With R] 7. 데이터 변형 with tidyr (202405)
  • [Data Science With R] 6. 파싱(Parsing) (202405)
임파카
임파카
[ML & Statistics] 모바일 버전에서 수식 오류가 있어 PC 환경에서 접속하는 것을 권장합니다.
  • 임파카
    무기의 스탯(Stat)
    임파카
  • 전체
    오늘
    어제
    • Study (149)
      • Data Science (44)
        • Modeling (18)
        • Manipulation (21)
        • Visualization (4)
      • Statistics (59)
        • Mathmetical Statistics (53)
        • Categorical DA (1)
      • Web Programming (17)
      • AI (26)
        • Machine Learning (16)
        • Deep Learning (10)
      • 활동 및 프로젝트 (3)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.5
임파카
[Data Science With R] 8. 관계형 데이터
상단으로

티스토리툴바