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)이라고도 합니다. 이 책에서는 가급적 열이라고 합니다.

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