R - Loops



There may be a situation when you need to execute a block of code several number of times. In general, statements are executed sequentially. The first statement in a function is executed first, followed by the second, and so on.

Programming languages provide various control structures that allow for more complicated execution paths.

A loop statement allows us to execute a statement or group of statements multiple times and the following is the general form of a loop statement in most of the programming languages −

Loop Architecture

R programming language provides the following kinds of loop to handle looping requirements. Click the following links to check their detail.

Sr.No. Loop Type & Description
1 repeat loop

Executes a sequence of statements multiple times and abbreviates the code that manages the loop variable.

2 while loop

Repeats a statement or group of statements while a given condition is true. It tests the condition before executing the loop body.

3 for loop

Like a while statement, except that it tests the condition at the end of the loop body.

Loop Control Statements

Loop control statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed.

R supports the following control statements. Click the following links to check their detail.

Sr.No. Control Statement & Description
1 break statement

Terminates the loop statement and transfers execution to the statement immediately following the loop.

2 Next statement

The next statement simulates the behavior of R switch.

Example - Printing vector elements Using repeat loop

v <- LETTERS[1:4]
i <- 0
repeat {
   print(v[i])
   i<- i+1
   
   if(i> 4) {
      break
   }
}

When the above code is compiled and executed, it produces the following result −

[1] "A"
[1] "B"
[1] "C"
[1] "D"

Example - Printing vector elements using while loop

v <- LETTERS[1:4]
i <- 0
while(i < 5) {
   print(v[i])
   i<- i+1
}

When the above code is compiled and executed, it produces the following result −

character(0)
[1] "A"
[1] "B"
[1] "C"

Example - Iterating elements of a List using for loop

list1 <- list(a = 1:3, b = "hello", c = TRUE)
for (item in list1) {
   print(item)
}

When the above code is compiled and executed, it produces the following result −

[1] 1 2 3
[1] "hello"
[1] TRUE
Advertisements