데이터 재가공
1. cbind와 rbind
동일한(열의 수와 이름 모두 일치) 열들 또는 동일한 수의 행을 가진 두 데이터셋을 가졌을 경우
cbind -> column bind; 열 기준으로 합침(vertical), 옆에다 갖다 붙인다고 생각하면 됨
rbind -> row bind; 행 기준으로 합침(horizontal), 아래다 갖다 붙인다고 생각하면 됨
2. 조인(join)
데이터가 항상 cbind를 사용해 결합할 수 있을 정도로 잘 정렬된 형태로 존재하지는 X.
조인을 위한 가장 일반적인 함수 세 가지는 merge, plyr 패키지의 join, data.table에서의 병합 기능
1) merge
merge(x, y, by.x, by.y)
이때,
x, y = 병합하고자 하는 두 가지 data.frame 객체
by.x = 좌측 data.frame의 키가 되는 열을 지정
by.y = 우측 data.frame에 대해 키가 되는 열 지정
여기서 키는 각 data.frame에 대해 다른 열 이름을 지정할 수 있다(그러나 내용물이 공통이어야 함.)
→ 내용물이 공통이라는 건 담고 있는 관측값의 종류(?)가 같아야 하는 건지?
느리다는 단점.
2) plyr join
SQL 배우면 채워넣을 예정.
3) reshape2
① melt
: pivot table을 풀어헤치는 것. why? pivot table은 사람이 보기에는 괜찮지만 ggplot2로 그래프를 그리거나 분석 알고리즘을 수행할 때는 적합하지 않음.
시각화 또는 통계를 위한 전처리 시 많이 활용
melt(data = df, id.vars = "obs", variable.name = "Group", value.name = "count")
- id.vars: 어떤 열들이 한 행에서 유일하게 확인되는지 명시
- variable.name: name of variable used to store measured variable names
- value.name: name of variable used to store values
② dcast
: melt함수의 반대, melt함수로 분해한 데이터를 다시 조립(cast), pivoting하는 것. 군집 비교 및 연산을 위한 처리에 활용. dcast는 cast함수 중 대표 함수.
dcast(data = df, formula = obs ~ Group, value.var = "Count")
- data: 사용될 데이터
- formula: 좌측에는 계속 유지되어야 하는 열 지정, 우측에는 새로 추가될 열의 이름들을 값으로 가지고 있는 열들을 지정
- value.var: formula 인자 우측의 열들의 값에 의해 생성될 새로운 열들에 채워질 값들을 가지고 있는 열(문자형)
이번 챕터는 좀 더 연습 후에 보강 예정.
'프로그래밍 > R ' 카테고리의 다른 글
[R] 스크립트 파일 관리 & 프로젝트 생성 및 관리 (0) | 2019.06.28 |
---|---|
[R] 반복문 없이 반복하기 (0) | 2019.06.27 |
[R] 데이터 읽어오기(read) & 데이터 기록하기(write) (0) | 2019.06.20 |
[R] 반복문(for loop, while loop) (0) | 2019.06.12 |
[R] 제어문(if, if~else if~, switch, ifelse) (0) | 2019.06.12 |