본문 바로가기

R

데이터 분석 시작기-11 (데이터 전처리 - 데이터 합치기; left_join, bind_rows)

데이터 전처리의 마지막 챕터인 데이터 합치기! 데이터를 합치는 방법은 가로로 합치거나 세로로 합치는 두 가지 방법이 존재합니다!

 

#가로로 합치기 (left_join)

가로로 합치는 것은 새로운 열을 하나 더 생성한다고 생각할 수 있습니다! 쉽게 생각해서 같은 표본을 사용하여 중간고사와 기말고사 각각 데이터 프레임을 갖고 있고, 이를 합친다고 생각하면 중간고사 데이터에 기말고사 데이터가 추가되는 것이겠죠?

 

이를 보여드리기 위해 새로운 데이터 프레임 두 개를 만들겠습니다!

test1, test2 data frame 생성
중간 / 기말 점수

#left_join

가로로 데이터를 합치는 데에 사용되는 함수는 left_join 함수입니다. 이는 우선 새로운 데이터 프레임이 생성되는 것이므로, 새로운 변수명(total)이 필요합니다! 이후 괄호 안에 합칠 데이터 프레임명을 나열하고, 기준으로 삼을 변수명을 by에 지정하면 됩니다.

id를 기준으로 test1과 test2를 합친 total 데이터입니다. 이때 주의할 점은 by에 기준 변수를 지정할 때 변수명 앞뒤에 따옴표를 입력해야 합니다!

 

다음은,

#세로로 합치기 (bind_rows)

이것 또한 데이터 프레임을 두 개 만들어보겠습니다!

두 개의 데이터 프레임은 각각 id와 test로 구성되어 있습니다. 이 경우는 5명의 학생이 먼저 시험을 보고 다른 5명의 학생이 나중에 시험을 본 상황입니다! 가로로 합치는 것은 5명의 동일한 학생이 시험을 본 상황이므로 엄연히 다릅니다!

 

세로로 합치는 것 또한 새로운 데이터를 만드는 것이기 때문에 새로 지정해 주셔야 합니다!

 

#bind_rows

코드를 입력하는 방법은 괄호 안에 합칠 데이터를 나열하면 됩니다.

이 함수는 두 데이터의 변수명이 동일할 경우에만 합칠 수 있습니다. 만약, 변수 명이 다르다면 rename()을 이용해 동일하게 맞춘 후 합치면 됩니다!

 

rename은 앞의 변수명 바꾸기에서 다루었듯이 데이터 프레임명 <- rename(데이터 프레임명, 새 변수명 = 기존 변수명)을 입력하여 변경할 수 있습니다!

 

지금까지 5개의 포스팅을 통해 데이터 전처리 하는 방식에 대해 알아보았습니다!

저는 각각의 함수가 어떤 기능을 하는지 헷갈리기도 했으나, 각각의 함수의 괄호 안에 어떠한 방식으로 변수명을 활용해야 하는지가 제일 헷갈리더라고요! 

모두들 이 점 주의하셔서 익혀나가면 좋을 것 같습니다!