9 aggregate( ) 함수: 그룹별로 통계 적용하기
기준 열로 그룹화하여 특정 열에 대해 요약 통계를 적용한 값을 반환합니다. 요약 통계란 최대(max), 최소(min), 평균(mean), 중앙값(median) 등 집단이 요약된 값을 의미합니다.
aggregate(기준열 ~ 그룹화할 열, x, 적용할 통계)
다음은 Species(품종)를 기준으로 그룹화하여 Petal.Length(꽃잎 길이)에 대해 평균값을 구하는 예시입니다.
> aggregate(Petal.Length ~ Species, iris, mean)
Species Petal.Length
1 setosa 1.462
2 versicolor 4.260
3 virginica 5.552
품종별로 Petal.Length의 평균 길이를 구했습니다. 여러 열을 선택하려면 다음과 같이 응용하면 됩니다.
> aggregate(cbind(Petal.Length, Sepal.Length) ~ Species, iris, mean)
Species Petal.Length Sepal.Length
1 setosa 1.462 5.006
2 versicolor 4.260 5.936
3 virginica 5.552 6.588
cbind() 함수로 열을 묶어서 해당 열에 대해 평균을 구했습니다.