Intermediate Functional Programming with purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
„Pro pochopení výpočtů v R jsou užitečná dvě hesla:
- Vše, co existuje, je objekt.
- Vše, co se děje, je volání funkce." -John Chambers
class(`+`)
"function"
class(`<-`)
"function"
Funkce lze
manipulovat
uložit do proměnné
definovat jako lambda
uložit do seznamu
předat jako argument funkce
vrátit jako výsledek funkce
Čistá funkce:
výstup závisí pouze na vstupu
žádné „vedlejší efekty"
# Output depends only on inputs
# No side effect
sum(1:10)
55
mean(1:100)
50.5
Nečisté funkce:
závisí na prostředí
mají „vedlejší efekty"
# Outputs depends of environment
Sys.Date()
"2018-10-04"
# Side effect only
write.csv(iris, "iris.csv")
Intermediate Functional Programming with purrr