The function apply() is absolutely one of the most valuable capacity. I was frightened of it during some time and wouldn’t utilize it. However, it makes the code such a great amount of quicker to compose thus proficient that we can’t bear the cost of not utilizing it. On the off chance that you resemble me, that you won’t utilize apply on the grounds that it is alarming, perused the accompanying lines, it will support you. You need to realize how to utilize apply() when all is said in done, with a home-made capacity or with a few parameters? At that point, go to see the accompanying models. 

The function apply() is known as incredibly valuable to improve the speed of our code when we need to work a few capacities on a network or a vector. I use it, yet I don’t generally have the foggiest idea of how to utilize it. 

What’s going on here? 

apply() is a R work that empowers to make brisk tasks on lattice, vector or exhibit. The tasks should be possible on the lines, the segments or even the two. 

How can it work? 

The example is extremely basic: apply(variable, edge, work). 

– the variable is the variable you need to apply the capacity to. 

– edge determines on the off chance that you need to apply by push (edge = 1), by segment (edge = 2), or for every component (edge = 1:2). Edge can be much more noteworthy than 2, on the off chance that we work with factors of measurement more prominent than two. 

– work is the capacity you need to apply to the components of your variable. 

Since I think the model is more clear than all else, here is the most significant guide to comprehend the capacity apply()


#the matrix we will work on:

a = matrix(c(1:15), nrow = 5 , ncol = 3)

#will apply the function mean to all the elements of each row
apply(a, 1, mean)
# [1]  6  7  8  9 10

#will apply the function mean to all the elements of each column
apply(a, 2, mean)
# [1]  3  8 13

#will apply the function mean to all the elements of each column and of each row, ie each element
apply(a, 1:2, mean)
#     [,1] [,2] [,3]
# [1,]    1    6   11
# [2,]    2    7   12
# [3,]    3    8   13
# [4,]    4    9   14
# [5,]    5   10   15

We have quite recently taken a shot at the various edges to show the fundamental conceivable outcomes. Be that as it may, as I said we can likewise take a shot at different factors, for example, a variety of measurement 3:

#apply() for array of other dimension :
a = array(1:8, dim = c(2,2,2))
apply(a, 3, sum)

# , , 1
#       [,1] [,2]
# [1,]    1    3
# [2,]    2    4
# , , 2
#        [,1] [,2]
# [1,]    5    7
# [2,]    6    8

Use a home-made function:

We can also use our own function. For example, we reproduce the function sum (absolutely useless but let’s keep it simple!).

f1 = function(x){
apply(a, 1, f1)