Una función en la familia *apply
es una abstracción de un bucle for
. En comparación con el for
bucles *apply
las funciones tienen las siguientes ventajas:
Sin embargo for
bucles son más generales y nos puede dar más control que permite lograr cálculos complejos que no siempre son triviales para hacer uso de *apply
funciones.
La relación entre los bucles for
y las funciones *apply
se explica en la documentación for
bucles for
.
*apply
La familia de funciones *apply
contiene varias variantes del mismo principio que difieren principalmente en función del tipo de resultado que devuelven.
función | Entrada | Salida |
---|---|---|
apply | matrix , data.frame o array | Vector o matriz (dependiendo de la longitud de cada elemento devuelto) |
sapply | vector o list | Vector o matriz (dependiendo de la longitud de cada elemento devuelto) |
lapply | vector o list | list |
vapply | vector o `lista | Vector o matriz (dependiendo de la longitud de cada elemento devuelto) de la clase designada por el usuario |
mapply | Múltiples vectores, lists o una combinación. | list |
Consulte "Ejemplos" para ver cómo se utiliza cada una de estas funciones.