# Apply Function With Multiple Arguments in R

Functions are essential in any programming language. A function is a block of code that can be called to perform a specific operation in programming.

In R, we have built-in functions as well as user-defined functions. We can also apply a function directly to a list or vector with one or multiple arguments.

In this tutorial we will work with the following vectors and function:

``````f1 <- function(v1,v2){
v1+v2
}
vec1 <- c(1,5,9)
vec2 <- c(2,7,6)
``````

The function is relatively simple, it just adds two elements and we have two vectors with three elements each.

In this tutorial, we will work with `sapply()`, `lapply()`, and the `mapply()`functions, where we will apply a function to the whole vector and pass multiple parameters to the same, and pass the vectors to the function as parameters.

In situations where we want to apply a function to a given vector or list, we can use `lapply()` or `sapply()`.

The `lapply()` function returns a list as the final output. For example:

``````lapply(vec1,f1,5)
[]
 6

[]
 10

[]
 14
typeof(lapply(vec1,f1,5))
 "list"
``````

As you can see, we pass the `f1` function to vec1 and pass another argument 5, since the function takes two arguments, which simply adds 5 to all elements.

The `sapply()` performs the same function as the `lapply()` function but is considered to be more efficient of the two since it simplifies the output and the result is not necessarily a list.

The following code snippet shows how:

``````sapply(vec1,f1,5)
  6 10 14
typeof(sapply(vec1,f1,5))
 "double"
``````

Another interesting function available is the `mapply()`. It applies a function to vectors that are passed as arguments. The function is applied to the first elements of the vectors, the second elements, and so on.

``````mapply(f1,vec1,vec2)
  3 12 15
``````

Notice that with the `mapply()` function we are able to pass the vectors as multiple arguments to a function since it returns the sum of elements at the same position.

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

## Related Article - R Function

• replicate() function in R