mutate()
plyr에는 base::transform( )을 개선한 plyr::mutate( ) 함수가 있다. 이 함수는 여러 컬럼을 데이터 프레임에 추가할 때 바로 앞서 추가한 컬럼을 뒤에 추가하는 컬럼에서 참조할 수 있어 편리하다. 예를 들어, 아래 코드에서는 mutate( )를 이용해 transform( ) 예에서처럼 cyear를 계산한 뒤 log(cyear)를 log_cyear 컬럼으로 추가한다. 만약 mutate( )가 아닌 transform( )을 사용하면 이 경우 에러가 발생한다.
> head(ddply(baseball, .(id), mutate, + cyear=year - min(year) + 1, log_cyear=log(cyear))) id year stint team lg g ab r h X2b X3b hr rbi sb cs bb so ibb hbp sh sf gidp cyear log_cyear 1 aaronha01 1954 1 ML1 NL 122 468 58 131 27 6 13 69 2 2 28 39 NA 3 6 4 13 1 0.0000000 2 aaronha01 1955 1 ML1 NL 153 602 105 189 37 9 27 106 3 1 49 61 5 3 7 4 20 2 0.6931472 3 aaronha01 1956 1 ML1 NL 153 609 106 200 34 14 26 92 2 4 37 54 6 2 5 7 21 3 1.0986123 4 aaronha01 1957 1 ML1 NL 151 615 118 198 27 6 44 132 1 1 57 58 15 0 0 3 13 4 1.3862944 5 aaronha01 1958 1 ML1 NL 153 601 109 196 34 4 30 95 4 1 59 49 16 1 0 3 21 5 1.6094379 6 aaronha01 1959 1 ML1 NL 154 629 116 223 46 7 39 123 8 0 51 54 17 4 0 9 19 6 1.7917595