Programmazione funzionale intermedia con purrr
Colin Fay
Data-Scientist & R-Hacker @ ThinkR
Funzioni lambda:
map(1:5, ~ .x*10)
[[1]]
[1] 10
[[2]]
[1] 20
[[3]]
[1] 30
[[4]]
[1] 40
[[5]]
[1] 50
Mapper riutilizzabili:
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
Funzionali:
map() e affini
keep() e discard()
some() e every()
Operatori di funzioni:
safely() e possibly()
partial()
compose()
negate()
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
Prova purrr sul campo ;)
Corsi tidyverse su DataCamp
Continua a esplorare purrr
Programmazione funzionale intermedia con purrr