더북(TheBook)

04 | 데이터 구조의 변형과 요약

reshape2(참고자료 [4], [5] 참고)는 데이터의 모양을 바꾸거나 그룹별 요약 값을 계산하는 함수들을 담고 있는 패키지다. 변환된 데이터는 측정치를 variable과 value라는 두 컬럼으로 표현하므로 데이터의 통계치 계산이 편리해진다.

reshape2가 제공하는 변환은 크게 melt( )와 cast( ) 두 함수로, 이 둘은 4장에서 다룬 stack( ), unstack( ) 함수와 유사한 기능을 한다. 다음 표에 이 두 함수의 역할에 대해 정리하였다.

표 5-7 reshape2의 melt( ), cast( ) 함수

함수

의미

melt( )

여러 컬럼으로 구성된 데이터를 데이터 식별자(id), 측정 변수(variable), 측정값(value)이라는 3개 컬럼으로 변환한다. 만약 한 데이터에 대해 다수의 측정 변수와 측정값이 있다면 이들은 여러 행으로 표현된다.

이렇게 변환된 결과는 variable 컬럼에 측정 대상이 기록되어 있으므로 각 variable마다 value의 통계 값을 계산하는 것이 편리하다.

cast( )

melt( )된 데이터를 다시 여러 컬럼으로 변환한다. 데이터에 여러 측정 변수와 측정값이 존재한다면 이들은 모두 새로운 컬럼으로 변환된다.

cast( )로 변환된 결과는 마치 스프레드시트에 입력한 데이터 모양과 유사하므로 분석자가 읽기 쉽다. 또한, cast( ) 시 melt( )된 데이터의 여러 행이 한 셀에 대응하는 경우 데이터의 요약 값을 자동으로 계산해준다.

reshape2 패키지를 설치 후 로드해보자.

> install.packages("reshape2")
> library(reshape2)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.