應用函式族(函式)
*apply
系列中的一個函式是 for
迴圈的抽象。與 for
迴圈相比,*apply
函式具有以下優點:
- 需要更少的程式碼來編寫。
- 沒有迭代計數器。
- 不使用臨時變數來儲存中間結果。
然而,for
迴圈更通用,可以為我們提供更多控制,允許實現使用*apply
函式並不總是微不足道的複雜計算。
for
迴圈和*apply
函式之間的關係在 for
迴圈的文件中進行了解釋。
*apply
家族的成員
*apply
系列函式包含幾個相同原理的變體,這些變體主要基於它們返回的輸出型別而不同。
功能 | 輸入 | 輸出 |
---|---|---|
apply |
matrix ,data.frame ,或 array |
向量或矩陣(取決於返回的每個元素的長度) |
sapply |
向量或 list |
向量或矩陣(取決於返回的每個元素的長度) |
lapply |
向量或 list |
list |
vapply |
向量或`列表 | 使用者指定類的向量或矩陣(取決於返回的每個元素的長度) |
mapply |
多個向量,lists 或組合 |
list |
請參閱示例以瞭解如何使用這些函式。