R Language
Functioneel programmeren
Zoeken…
Ingebouwde hogere orderfuncties
R heeft een reeks ingebouwde functies van hogere orde: Map
, Reduce
, Filter
, Find
, Position
, Negate
.
Map
past een gegeven functie toe op een zoeklijst:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce
achtereenvolgens een binaire functie op een recursieve manier.
Reduce(`*`, 1:10)
Filter
krijgt een predikaatfunctie en een zoeklijst retourneert een gefilterde lijst met alleen waarden waarvoor de predikaatfunctie WAAR is.
Filter(is.character, list(1,"a",2,"b",3,"c"))
Find
gegeven een predikaatfunctie en een lijst met waarden retourneert de eerste waarde waarvoor de predikaatfunctie WAAR is.
Find(is.character, list(1,"a",2,"b",3,"c"))
Position
krijgt een predikaatfunctie en een zoeklijst retourneert de positie van de eerste waarde in de lijst waarvoor de predikaatfunctie WAAR is.
Position(is.character, list(1,"a",2,"b",3,"c"))
Negate
keert een predikaatfunctie om waardoor deze ONWAAR retourneert voor waarden waar het WAAR is en omgekeerd.
is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)