内置高阶函数
R 有一组内置的高阶函数:Map
,Reduce
,Filter
,Find
,Position
,Negate
。
Map
将给定函数应用于值列表:
words <- list("this", "is", "an", "example")
Map(toupper, words)
Reduce
以递归方式将二进制函数连续应用于值列表。
Reduce(`*`, 1:10)
给定谓词函数和值列表的 Filter
返回一个过滤列表,该列表仅包含谓词函数为 TRUE 的值。
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)