Programação funcional em R

Programação Funcional Intermediária com purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Sobre computação em R

"Para entender computações em R, dois lemas ajudam:

- Tudo que existe é um objeto.

- Tudo que acontece é uma chamada de função."    -John Chambers

class(`+`)
"function"
class(`<-`)
"function"
Programação Funcional Intermediária com purrr

R como linguagem de programação funcional

Funções podem ser

  • manipuladas

  • guardadas em uma variável

  • lambda

 

  • guardadas em uma lista

  • argumentos de uma função

  • retornadas por uma função

Programação Funcional Intermediária com purrr

Sobre "funções puras"

Em uma função pura:

  • a saída depende só da entrada

  • sem "efeitos colaterais"

# Saída depende apenas das entradas
# Sem efeito colateral
sum(1:10)
55
mean(1:100)
50.5
Programação Funcional Intermediária com purrr

Funções impuras são úteis

Funções impuras:

  • Dependem do ambiente

  • Têm "efeitos colaterais"

# Saída depende do ambiente 
Sys.Date()
"2018-10-04"
# Apenas efeito colateral
write.csv(iris, "iris.csv")
Programação Funcional Intermediária com purrr

Leia mais sobre programação funcional

Programação Funcional Intermediária com purrr

Vamos praticar!

Programação Funcional Intermediária com purrr

Preparing Video For Download...