Programmation fonctionnelle en R

Programmation fonctionnelle intermédiaire avec purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

À propos du calcul en R

« Pour comprendre les calculs en R, deux slogans aident :

- Tout ce qui existe est un objet.

- Tout ce qui se passe est un appel de fonction. » -John Chambers

class(`+`)
"function"
class(`<-`)
"function"
Programmation fonctionnelle intermédiaire avec purrr

R comme langage de programmation fonctionnelle

Les fonctions peuvent être

  • manipulées

  • stockées dans une variable

  • lambda

  • stockées dans une liste

  • arguments d'une fonction

  • retournées par une fonction

Programmation fonctionnelle intermédiaire avec purrr

À propos des « fonctions pures »

Dans une fonction pure :

  • la sortie dépend seulement des entrées

  • aucun « effet de bord »

# La sortie dépend seulement des entrées
# Aucun effet de bord
sum(1:10)
55
mean(1:100)
50.5
Programmation fonctionnelle intermédiaire avec purrr

Les fonctions impures sont utiles

Fonctions impures :

  • Dépendent de l'environnement

  • Ont des « effets de bord »

# La sortie dépend de l'environnement 
Sys.Date()
"2018-10-04"
# Effet de bord seulement
write.csv(iris, "iris.csv")
Programmation fonctionnelle intermédiaire avec purrr

Pour en savoir plus sur la programmation fonctionnelle

Programmation fonctionnelle intermédiaire avec purrr

Passons à la pratique !

Programmation fonctionnelle intermédiaire avec purrr

Preparing Video For Download...