Learn R Programming

functionals (version 0.5.0)

fcompose: Compose multiple functions

Description

Create a new function by composing several functions, applied from right to left. Equivalent to `f1(f2(f3(...)))`.

Usage

fcompose(...)

Value

A new function equivalent to nested application of the input functions.

Arguments

...

Functions to compose. Each must take a single argument and return an object compatible with the next function in the chain.

Examples

Run this code
square <- function(x) x^2
add1 <- function(x) x + 1

f <- fcompose(sqrt, square, add1)  # => sqrt(square(x + 1))
f(4)  # => sqrt((4 + 1)^2) = sqrt(25) = 5

# More compact
fcompose(log, exp)(2)  # log(exp(2)) = 2

Run the code above in your browser using DataLab