The apply function allows us to make entry-by-entry changes to data frames and matrices.

The usage in R is as follows:

**apply(X, MARGIN, FUN, …)**

where:

X is an array or matrix;

MARGIN is a variable that determines whether the function is applied over rows (MARGIN=1), columns (MARGIN=2), or both (MARGIN=c(1,2));

FUN is the function to be applied.

If MARGIN=1, the function accepts each row of X as a vector argument and returns a vector of the results. Similarly, if MARGIN=2 the function acts on the columns of X. Most impressively, when MARGIN=c(1,2) the function is applied to every entry of X.

**Advantage:**

With the apply function, we can edit every entry of a data frame with a single line command. No auto-filling, no wasted CPU cycles.