R Language
Функциональное программирование
Поиск…
Встроенные функции более высокого порядка
R имеет набор встроенных функций более высокого порядка: Map , Reduce , Filter , Find , Position , Negate .
Map применяет данную функцию к списку значений:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce последовательно применяет двоичную функцию к списку значений рекурсивным образом.
Reduce(`*`, 1:10)
Filter задает функцию предиката, а список значений возвращает отфильтрованный список, содержащий только значения, для которых предикатная функция имеет значение ИСТИНА.
Filter(is.character, list(1,"a",2,"b",3,"c"))
Find заданную функцию предиката, а список значений возвращает первое значение, для которого предикатная функция TRUE.
Find(is.character, list(1,"a",2,"b",3,"c"))
Position заданная предикатной функцией, и список значений возвращает позицию первого значения в списке, для которого предикатная функция TRUE.
Position(is.character, list(1,"a",2,"b",3,"c"))
Negate инвертирует функцию предиката, заставляя ее возвращать FALSE для значений, где она возвращала TRUE и наоборот.
is.noncharacter <- Negate(is.character)
is.noncharacter("a")
is.noncharacter(mean)