R Language
Programowanie funkcjonalne
Szukaj…
Wbudowane funkcje wyższego rzędu
R ma zestaw wbudowanych funkcji wyższego rzędu: Map
, Reduce
, Filter
, Find
, Position
, Negate
.
Map
stosuje daną funkcję do listy wartości:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce
sukcesywnie stosuje funkcję binarną do listy wartości w sposób rekurencyjny.
Reduce(`*`, 1:10)
Filter
podaną funkcję predykatu, a lista wartości zwraca przefiltrowaną listę zawierającą tylko wartości, dla których funkcja predykatu ma wartość PRAWDA.
Filter(is.character, list(1,"a",2,"b",3,"c"))
Find
podając funkcję predykatu, a lista wartości zwraca pierwszą wartość, dla której funkcja predykatu ma wartość PRAWDA.
Find(is.character, list(1,"a",2,"b",3,"c"))
Position
otrzymująca funkcję predykatu, a lista wartości zwraca pozycję pierwszej wartości na liście, dla której funkcja predykatu jest PRAWDA.
Position(is.character, list(1,"a",2,"b",3,"c"))
Negate
odwraca funkcję predykatu, co powoduje, że zwraca FALSE dla wartości, dla których zwrócił wartość PRAWDA i odwrotnie.
is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)