Connect with us

Hi, what are you looking for?


Loop Functions In R Programming

In this tutorial, we going to learn the loop function, in another saying we going to learn apply,lapply,tapply, and mapply if you don’t know data types, you can read Data Types In R.

What Are Loop Functions?

You can operate on data types with the loop functions, these functions save you from creating a loop over and over again. It is also possible to apply the operations you want to all data with loop functions.

Apply Loop Function

The apply function is used to operate on a matrix or data frame, resulting in a vector, list, or array. The syntax is simple, the first argument is matrix or data frame, the second argument is used to select a column or row, and the last argument specifies the action to be taken.

x <- matrix(1:6 , ncol = 3 , nrow = 2)
apply(x , 1 , sum)

In here, we have gathered up the rows of the matrix. If we are going to operate on the columns, it is sufficient to write 2 instead of 1.

Lapply Loop Function

The lapply function is used to operate on a list, the output is the same length as the input. Each element is the result of applying the operation to the corresponding element of the list.

x <- list(c(1 , 2 , 3) , c(4 , 5 , 6) , c(7 , 8 , 9)
lapply(x , mean)

very similar to the apply syntax, a list is given to the first argument and 2nd argument the action to be taken on the is written. In the example here, each index of x will be averaged and written to the same index on the output list.

Mapply Loop Function

The mapply function applies the required operation to all indexes in the list one by one, it also applies to indexes that are in a vector, it has a multivariate structure.

mapply(rep, 1:4 , 1:4)

The operation here is applied to all indexes and too also the values inside the vector and a result is printed on the screen as below.

[1] 1

[1] 2 2

[1] 3 3 3

[1] 4 4 4 4
Tapply Function

The function tapply is used to manipulate the child vectors of a list or vector, also this function allows us to operate between different groups.

x <- c(runif(10) , runif(10) , runif(10))

c <- gl(3 , 10)

tapply(x , c , mean)
# We divided our vector into 3 groups and performed separate transactions for each group.

The usage can be a little more complicated, the first argument will be your string or vector to be operated with a group, the second argument is the factor of this vector, and the last operation is written.


Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Daily News

GitHub’s new feature “passwordless authentication” aims to increase account security and provide a smoother user experience. By opting for the “Enable passkeys” option within...

Artificial Intelligence

Scientists from Japan used AI deep learning to discover new geoglyphs in the Arid Peruvian coastal plain, in the northern part of Peru’s Nazca...

Artificial Intelligence

The Tokyo Institute of Technology and other organizations have announced the start of development of highly performing generative artificial intelligence using the Fugaku supercomputer,...

Artificial Intelligence

Japanese researchers announced that AI ChatGPT technology has succeeded in the annual national doctor’s exam. The AI chatbot, which has advanced speech features that...