그룹마다 연산을 쉽게 수행하기
지금까지 살펴본 plyr의 예에서는 adply( ) 또는 ddply( )에 임의의 사용자 정의 함수를 넘겨주어 분석을 수행했다. 그러나 공통적으로 자주 사용하는 유형의 계산은 transform( ), mutate( ), summarise( ), subset( )을 사용하면 더 간단히 표현할 수 있다. 다음 표에 이들 세 함수를 보였다.
base::transform : 객체(예를 들면, 데이터 프레임)를 변환한다. |
base::transform( _data # 변환할 객체 ... # 태그=값 형태의 인자들 ) 데이터 프레임 _data에 ...에 지정한 연산을 수행한 뒤 그 결과를 저장한 새로운 컬럼을 추가한 데이터 프레임을 반환한다. |
plyr::mutate : 데이터 프레임에 새로운 컬럼을 추가하거나 기존 컬럼을 수정한다. |
plyr::mutate( .data, # 변환할 데이터 프레임 ... # 새로운 컬럼 정의. 컬럼명=값 형식 ) 반환 값은 변환된 결과다. 변환이 이루어진다는 점은 transform( )과 같지만 컬럼명=값 형태로 지정된 연산이 여러 개 있을 때 앞서의 연산 결과를 뒤에 나오는 연산에서 참조할 수 있다는 차이가 있다. |
plyr::summarise : 데이터 프레임을 요약한다. |
plyr::summarise( .data, # 요약할 데이터 프레임 ... # 변수=값 형태의 인자들 ) ...에 지정된 그룹마다의 요약을 수행한 뒤 그 결과를 저장한 새로운 컬럼이 추가된 데이터 프레임을 반환한다. |
base::subset : 벡터, 행렬, 데이터 프레임의 일부를 반환한다. |
subset( x, # 일부를 취할 데이터 subset # 데이터를 선택할지 여부를 지정한 논릿값 벡터 ) subset( x, subset, select # 선택할 컬럼의 벡터. 제외할 컬럼은 -를 붙여 표시함 ) 반환 값은 일부만 선택된 데이터다. |