顾名思义,匿名函数未分配名称。当函数是较大操作的一部分,但其本身不占很大位置时,这可能很有用。匿名函数的一个常见用例是在*applyBase函数家族中。
计算a中每列的均方根data.frame:
df <- data.frame(first=5:9, second=(0:4)^2, third=-1:3) apply(df, 2, function(x) { sqrt(sum(x^2)) }) first second third 15.968719 18.814888 3.872983
为矩阵中的每一行创建一个从最小到最大的步长序列。
x <- sample(1:6, 12, replace=TRUE) mat <- matrix(x, nrow=3) apply(mat, 1, function(x) { seq(min(x), max(x)) })
匿名函数也可以独立存在:
(function() { 1 })() [1] 1
相当于
f <- function() { 1 })f()[1] 1