Glückwunsch!

Fortgeschrittene funktionale Programmierung mit purrr

Colin Fay

Data-Scientist & R-Hacker @ ThinkR

Lambda-Funktionen:

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

[[2]]
[1] 20

[[3]]
[1] 30

[[4]]
[1] 40

[[5]]
[1] 50

Wiederverwendbare Mapper:

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
Fortgeschrittene funktionale Programmierung mit purrr

Funktionen manipulieren

Funktionale:

  • map() & Co.

  • keep() & discard()

  • some() & every()

Funktionsoperatoren:

  • safely() & possibly()

  • partial()

  • compose()

  • negate()

Fortgeschrittene funktionale Programmierung mit purrr

Saubererer Code

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
Fortgeschrittene funktionale Programmierung mit purrr

Wie geht es weiter?

  • Probier purrr in der Praxis aus ;)

  • DataCamp-Kurse zum tidyverse

  • Advanced R

  • Erkunde purrr weiter

Fortgeschrittene funktionale Programmierung mit purrr

Bis bald!

Fortgeschrittene funktionale Programmierung mit purrr

Preparing Video For Download...