Previously we showed you how to write a loop in R. Very often it’s a better idea to use the apply function in R than to write a loop.

So what is the apply function in R?

Well, apply is really a family of functions that have varying uses. Here are the available R apply functions: apply, lapply, sapply, vapply, mapply, rapply and tapply.

Apply is the head of the family. Apply operates on arrays: apply(X, MARGIN, FUN, …). This will return a vector or array or list of values obtained by applying a function to margins of an array.

**The Arguments are the following:**

X – the array to be used.

MARGIN – a vector giving the subscripts which the function will be applied over. 1 indicates rows, 2 indicates columns, c(1,2) indicates rows and columns.

FUN – the function to be applied: see Details. In the case of functions like +, %*%, etc., the function name must be backquoted or quoted.

… – optional arguments to FUN.

**Lets look at an example:**

```
>cars #built-in dataset Speed and Stopping Distances of Cars
```

I won’t type the entire print but here are a few rows:

```
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
```

This goes to row 50.

What if we wanted to get the sum of speed?

```
>apply(cars,2,sum)
speed dist
770 2149
```

What if you wanted to get the mean?

```
> apply(cars,2,mean)
speed dist
15.40 42.98
```

These are basic examples of using the apply function in R. Next we will look at the other family members of apply.