Funkcionální programování v R

Intermediate Functional Programming with purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Výpočty v R

„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"
Intermediate Functional Programming with purrr

R jako funkcionální programovací jazyk

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

Intermediate Functional Programming with purrr

Čisté 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
Intermediate Functional Programming with purrr

Nečisté funkce jsou užitečné

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

Další zdroje o funkcionálním programování

Intermediate Functional Programming with purrr

Pojďme si procvičit!

Intermediate Functional Programming with purrr

Preparing Video For Download...