应用函数族(函数)

*apply 系列中的一个函数是 for 循环的抽象。与 for 循环相比,*apply 函数具有以下优点:

  1. 需要更少的代码来编写。
  2. 没有迭代计数器。
  3. 不使用临时变量来存储中间结果。

然而,for 循环更通用,可以为我们提供更多控制,允许实现使用*apply 函数并不总是微不足道的复杂计算。

for 循环和*apply 函数之间的关系在 for 循环的文档中进行了解释。

*apply 家族的成员

*apply 系列函数包含几个相同原理的变体,这些变体主要基于它们返回的输出类型而不同。

功能 输入 输出
apply matrixdata.frame,或 array 向量或矩阵(取决于返回的每个元素的长度)
sapply 矢量或 list 向量或矩阵(取决于返回的每个元素的长度)
lapply 矢量或 list list
vapply 矢量或`列表 用户指定类的向量或矩阵(取决于返回的每个元素的长度)
mapply 多个向量,lists 或组合 list

请参阅示例以了解如何使用这些函数。