더북(TheBook)

10 apply( ) 계열 함수: 조건으로 함수 적용하기

apply() 계열 함수에는 apply(), sapply(), lapply(), tapply(), mapply()가 있는데 데이터셋에 특정 요약 통계를 적용하여 결과를 반환하는 기능을 합니다. apply 계열 함수들은 각각 받아서 처리하는 값인 인수와 반환하는 결괏값에 차이가 있습니다.

 

먼저 알아볼 tapply() 함수는 그룹별로 요약 통계를 적용합니다. 다음은 꽃잎 넓이(Petal.Width)로 그룹화하여 꽃잎 길이(Petal.Length)의 평균(mean)을 구하는 예시입니다.

> x <- unique(iris$Petal.Width)     # Petal.Width의 유일 값을 확인
> sort(x)                           # x 값을 정렬해서 확인
[1] 0.1 0.2 0.3 0.4 0.5 0.6 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5

> # iris$Petal.Width를 그룹으로 iris$Petal.Length 평균을 구함
> tapply(iris$Petal.Length, iris$Petal.Width, mean)
     0.1       0.2       0.3       0.4       0.5       0.6         1       1.1      1.2        1.3       1.4       1.5       1.6
1.380000  1.444828  1.428571  1.571429  1.700000  1.600000  3.628571  3.566667  4.240000  4.176923  4.637500  4.658333  5.025000
      1.7      1.8       1.9         2       2.1       2.2       2.3       2.4       2.5
4.750000  5.333333  5.320000  5.550000  5.783333  6.033333  5.700000  5.433333  5.933333

* 함수가 적용될 대상 열

* 그룹화 기준 열

* 적용될 함수, 여기에서는 평균 함수

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.