Grattis!

Funktionell programmering på mellannivå med purrr

Colin Fay

Data-Scientist & R-Hacker @ ThinkR

Lambdafunktioner:

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

[[2]]
[1] 20

[[3]]
[1] 30

[[4]]
[1] 40

[[5]]
[1] 50

Återanvändbara mappers:

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
Funktionell programmering på mellannivå med purrr

Funktionshantering

Funktionaler:

  • map() och liknande

  • keep() och discard()

  • some() och every()

Funktionsoperatorer:

  • safely() och possibly()

  • partial()

  • compose()

  • negate()

Funktionell programmering på mellannivå med purrr

Renare kod

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
Funktionell programmering på mellannivå med purrr

Vad händer härnäst?

  • Testa purrr i verkligheten ;)

  • DataCamp tidyverse-kurser

  • Advanced R

  • Fortsätt utforska purrr

Funktionell programmering på mellannivå med purrr

Vi ses snart!

Funktionell programmering på mellannivå med purrr

Preparing Video For Download...