匿名函式
顧名思義,匿名函式未分配名稱。當函式是較大操作的一部分時,這可能很有用,但本身並不佔用太多空間。匿名函式的一個常見用例是在*apply
系列 Base 函式中。
計算 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
為矩陣中的每一行建立一個步長 1 的序列,從最小值到最大值。
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