The **sapply()** function in **R** is **“used to apply a function to all the input elements of a list or vector and returns a vector or matrix of the results”**.

**Syntax**

`sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)`

**Parameters**

**X:**It is a vector or List appropriate to a call to sapply.**FUN:**It is a function.**…:**It is the optional argument to**FUN**.**simplify:**It is a logical value that should the result be simplified to a vector or matrix if possible.**USE.NAMES:**It is a logical value; if**TRUE**and**X**are characters, use**X**as the result’s name unless it already has names.

**Example 1: R program to use the sapply() function**

To use the sapply() function in R, you must define the **List** or **Vector** you want to iterate on the first parameter and the function you wish to apply to each vector element in the second argument.

Let’s take the above example, where we used for loop to calculate the cube of each vector element.

`sapply(1:5, function(num) num ^ 3)`

**Output**

`[1] 1 8 27 64 125`

You can see that we got a cube of all the vector elements just with one line of code.

**Example 2: Using sapply() function with a list**

```
rv <- 1:10
rv2 <- 11:20
l <- list(a = rv, b = rv2)
sapply(l, mean)
```

**Output**

```
a b
5.5 15.5
```

Let’s use the **lapply()** function instead of the **sapply()** function.

```
rv <- 1:10
rv2 <- 11:20
l <- list(a = rv, b = rv2)
lapply(l, mean)
```

**Output**

```
$a
[1] 5.5
$b
[1] 15.5
```

The **sapply()** function is more efficient than **lapply() **because **sapply()** stores values directly into a vector.

Applying the **lapply()** function would give us a list unless you pass **simplify**=**FALSE** as a parameter to sapply(). Then, a list will be returned.

**Example 3: Using the sapply() function with R Vector**

You can apply the sapply() function to a Vector. It returns the processed output. For example, if we want the square of all vector elements, we use the sapply() function and pass the two arguments.

**A vector**: It is the vector that contains elements**A function**: The logic of square means the function that returns the square of the elements.

See the following code on using the sapply() function on R Vector.

```
rv <- 19:21
sapply(rv, function(f) f ^ 2)
```

**Output**

`[1] 361 400 441`

That’s it.

Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language.

I really like what you posted. I really agree with what you wrote.