Programmazione funzionale in R

Programmazione funzionale intermedia con purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Sul calcolo in R

"Per capire i calcoli in R, aiutano due slogan:

- Tutto ciò che esiste è un oggetto.

- Tutto ciò che accade è una chiamata di funzione."    -John Chambers

class(`+`)
"function"
class(`<-`)
"function"
Programmazione funzionale intermedia con purrr

R come linguaggio funzionale

Le funzioni possono essere

  • manipolate

  • salvate in una variabile

  • lambda

 

  • salvate in una lista

  • argomenti di una funzione

  • restituite da una funzione

Programmazione funzionale intermedia con purrr

Sulle "funzioni pure"

In una funzione pura:

  • l'output dipende solo dall'input

  • nessun "effetto collaterale"

# L'output dipende solo dagli input
# Nessun effetto collaterale
sum(1:10)
55
mean(1:100)
50.5
Programmazione funzionale intermedia con purrr

Le funzioni impure sono utili

Funzioni impure:

  • Dipendono dall'ambiente

  • Hanno "effetti collaterali"

# L'output dipende dall'ambiente 
Sys.Date()
"2018-10-04"
# Solo effetto collaterale
write.csv(iris, "iris.csv")
Programmazione funzionale intermedia con purrr

Per approfondire la programmazione funzionale

Programmazione funzionale intermedia con purrr

Esercitiamoci!

Programmazione funzionale intermedia con purrr

Preparing Video For Download...