축하합니다!

purrr로 배우는 중급 함수형 프로그래밍

Colin Fay

Data-Scientist & R-Hacker @ ThinkR

람다 함수:

map(1:5, ~ .x*10)
[[1]]
[1] 10

[[2]]
[1] 20

[[3]]
[1] 30

[[4]]
[1] 40

[[5]]
[1] 50

재사용 가능한 매퍼:

ten_times <- as_mapper(~ .x * 10)
map(1:5, ten_times)
[[1]]
[1] 10

[[2]]
[1] 20

[[3]]
[1] 30

[[4]]
[1] 40

[[5]]
[1] 50
purrr로 배우는 중급 함수형 프로그래밍

함수 다루기

펑셔널:

  • map()

  • keep() & discard()

  • some() & every()

함수 연산자:

  • safely() & possibly()

  • partial()

  • compose()

  • negate()

purrr로 배우는 중급 함수형 프로그래밍

더 깔끔한 코드

library(purrr)
rounded_mean <- compose(
  partial(round, digits = 1),
  partial(mean, trim = 2, na.rm = TRUE))
map(list(airquality, mtcars), 
  ~ map_dbl(.x, rounded_mean))
[[1]]
Ozone Solar.R    Wind    Temp   Month     Day 
 31.5   205.0     9.7    79.0     7.0    16.0 

[[2]]
 mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb 
19.2   6.0 196.3 123.0   3.7   3.3  17.7   0.0   0.0   4.0   2.0
purrr로 배우는 중급 함수형 프로그래밍

다음 단계

  • 실전에서 purrr를 시도해 보세요 ;)

  • DataCamp tidyverse 강좌

  • Advanced R

  • purrr 계속 탐색하기

purrr로 배우는 중급 함수형 프로그래밍

곧 다시 만나겠습니다!

purrr로 배우는 중급 함수형 프로그래밍

Preparing Video For Download...