더북(TheBook)

6 mutate_at( ) 함수: 특정 열만 조작해서 새로운 열 생성하기

mutate_all() 함수가 모든 열에 대해 조작하는 함수라면, mutate_at() 함수는 지정한 열만 조작합니다.

 

그림 7-15 | mutate_at() 함수 원리

 

다음은 mutate_at() 함수를 사용하여 지정한 열에 대해 최댓값을 구하는 max 함수를 적용하는 예시입니다.

order_info_r %>% mutate_at(vars(sales), funs(max))

# A tibble: 391 x 5
    order_no            item_id  reserv_no   quantity   sales
    <chr>               <chr>    <chr>          <dbl>   <dbl>
 1  191228137840110000  M0003    2019122805        1   552000
 2  191228137837810000  M0001    2019122806       10   552000
 3  191228547385810000  M0003    2019122807        2   552000
 4  191228567831310000  M0008    2019122808        1   552000
 5  191228567430310000  M0005    2019122809        4   552000
 6  191228137860010000  M0005    2019122810        2   552000
 7  191228137860010000  M0009    2019122810        2   552000
 8  191229107864610000  M0005    2019122901        4   552000
 9  191229107864610000  M0009    2019122901        4   552000
10  191229137425710000  M0003    2019122902        2   552000
# ... with 381 more rows

* 최댓값을 찾을 열(var)

 

mutate_all() 함수가 열을 지정하지 않아 모든 열에 대해 조작 함수를 적용한데 반해 mutate_at() 함수는 sales 열(var8)에 대해서만 최댓값을 구해서 출력했습니다. vars()에 열을 여러 개 나열하면 나열한 열에 대해 조작 함수가 적용됩니다. 다양하게 응용해 보세요.

 

 


8 4장 데이터 프레임에서 설명했듯이 열(column)은 var(변수, variable)이라고도 합니다. 이 책에서는 가급적 열이라고 합니다.

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