在 R 语言中,by()
函数可以将数据集按照特定的因子进行分组,并对每个分组应用一个函数。apply()
函数可以将数据集按照特定的维度进行分组,并对每个分组应用一个函数。
要指定 by()
函数中使用的 FUN,可以将 FUN 作为参数传递给 by()
函数。例如,假设我们有一个数据集 data
,其中包含两个变量 x
和 y
,我们可以使用 by()
函数将数据集按照 x
变量分组,并对每个分组应用 mean
函数来计算 y
变量的平均值:
result <- by(data, data$x, FUN = function(x) mean(x$y))
在这个例子中,data$x
是分组变量,FUN = function(x) mean(x$y)
是应用于每个分组的函数。
要指定 apply()
函数中使用的 FUN,可以将 FUN 作为参数传递给 apply()
函数。例如,假设我们有一个矩阵 mat
,我们可以使用 apply()
函数将矩阵按照行进行分组,并对每个分组应用 sum
函数来计算每行的总和:
result <- apply(mat, 1, FUN = sum)
在这个例子中,1
是应用的维度,FUN = sum
是应用于每个分组的函数。
需要注意的是,在使用 by()
和 apply()
函数时,如果要使用自定义的函数,需要将函数定义为匿名函数或者使用 function()
函数来定义函数。