R Language Integrierte Funktionen höherer Ordnung


Beispiel

R hat eine Reihe von in Funktionen höherer Ordnung aufgebaut: Map , Reduce , Filter , Find , Position , Negate .

Map wendet eine bestimmte Funktion auf eine Liste von Werten an:

words <- list("this", "is", "an", "example")
Map(toupper, words)

Reduce eine binäre Funktion auf eine Liste von Werten rekursiv angewendet.

Reduce(`*`, 1:10)

Filter eine Prädikatfunktion und eine Liste mit Werten filtern, wird eine gefilterte Liste zurückgegeben, die nur Werte enthält, für die die Prädikatfunktion TRUE ist.

Filter(is.character, list(1,"a",2,"b",3,"c"))

Find gegebene Prädikatsfunktion und eine Liste von Werten gibt den ersten Wert zurück, für den die Prädikatsfunktion WAHR ist.

Find(is.character, list(1,"a",2,"b",3,"c"))

Position die eine Prädikatsfunktion und eine Liste mit Werten gegeben hat, gibt die Position des ersten Werts in der Liste zurück, für den die Prädikatfunktion WAHR ist.

Position(is.character, list(1,"a",2,"b",3,"c"))

Negate invertiert eine Prädikatsfunktion und gibt für Werte, bei denen TRUE zurückgegeben wurde, FALSE zurück und umgekehrt.

is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)