Felicitări!

Programare funcțională intermediară cu purrr

Colin Fay

Data-Scientist & R-Hacker @ ThinkR

Funcții lambda:

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

[[2]]
[1] 20

[[3]]
[1] 30

[[4]]
[1] 40

[[5]]
[1] 50

Mappere reutilizabile:

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
Programare funcțională intermediară cu purrr

Manipularea funcțiilor

Funcționale:

  • map() și variante

  • keep() și discard()

  • some() și every()

Operatori de funcții:

  • safely() și possibly()

  • partial()

  • compose()

  • negate()

Programare funcțională intermediară cu purrr

Cod mai curat

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
Programare funcțională intermediară cu purrr

Unde mergem mai departe?

  • Exersați purrr în proiecte reale ;)

  • Cursuri DataCamp tidyverse

  • Advanced R

  • Continuați să explorați purrr

Programare funcțională intermediară cu purrr

Pe curând!

Programare funcțională intermediară cu purrr

Preparing Video For Download...