La 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 principes aident :

- Tout ce qui existe est un objet.

- Tout ce qui se produit 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

  • des lambdas

 

  • stockées dans une liste

  • des arguments d'une fonction

  • renvoyées par une fonction

Programmation fonctionnelle intermédiaire avec purrr

À propos des « fonctions pures »

Dans une fonction pure :

  • la sortie dépend uniquement de l'entrée

  • pas de « effet de bord »

# La sortie dépend uniquement 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 uniquement
write.csv(iris, "iris.csv")
Programmation fonctionnelle intermédiaire avec purrr

Pour aller plus loin sur la programmation fonctionnelle

Programmation fonctionnelle intermédiaire avec purrr

Passons à la pratique !

Programmation fonctionnelle intermédiaire avec purrr

Preparing Video For Download...