R Language
Programmation fonctionnelle
Recherche…
Fonctions d'ordre supérieur intégrées
R dispose d'un ensemble de fonctions intégrées d'ordre supérieur: Map
, Reduce
, Filter
, Find
, Position
, Negate
.
Map
applique une fonction donnée à une liste de valeurs:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce
applique successivement une fonction binaire à une liste de valeurs de manière récursive.
Reduce(`*`, 1:10)
Filter
une fonction de prédicat et une liste de valeurs renvoie une liste filtrée contenant uniquement des valeurs pour lesquelles la fonction de prédicat est TRUE.
Filter(is.character, list(1,"a",2,"b",3,"c"))
Find
une fonction de prédicat et une liste de valeurs renvoie la première valeur pour laquelle la fonction de prédicat est TRUE.
Find(is.character, list(1,"a",2,"b",3,"c"))
Position
donnée à une fonction de prédicat et à une liste de valeurs renvoie la position de la première valeur de la liste pour laquelle la fonction de prédicat est TRUE.
Position(is.character, list(1,"a",2,"b",3,"c"))
Negate
inverse une fonction de prédicat en la rendant FALSE pour les valeurs où elle a renvoyé TRUE et vice versa.
is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)