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