內建高階函式
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)