AD

¿Ya dominas lo básico? Un curso estructurado de R es la vía rápida para dar el salto.

Ver cursos de R en Udemy

Enlace de afiliado. No te cuesta nada extra.

📊Lecciones de R
Lección 29 / 68

Funciones de orden superior (pasar una función como argumento)

En esta lección pasarás un trozo de comportamiento como si fuera un dato.

Reduce(f, x) combina los elementos de dos en dos hasta dejar un solo valor. Con la suma, va acumulando el total.

El código de ejemplo suma los elementos de un vector.

Junto a Reduce, R trae Filter para quedarse con los que cumplan una condición y Map para recorrer varios vectores a la vez. Con sapply, forman el conjunto de herramientas funcionales de la base del lenguaje.

Que las funciones sean valores normales hace posible además escribir funciones que devuelven funciones. Es lo que permite construir un multiplicador a medida y guardarlo en una variable, algo que en R se usa mucho más de lo que se usa en lenguajes más tradicionales.

Para el caso concreto del ejemplo, sin embargo, lo idiomático es sum(nums): más corto, más claro y bastante más rápido. Reduce se reserva para combinaciones que no tienen ya una función propia.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar R directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)