While Loop in R with Example

A loop is a statement that keeps running until a condition is satisfied. The syntax for a while loop is the following:

while (condition) {
     Exp    
}

While Loop Flow Chart

Note: Remember to write a closing condition at some point otherwise the loop will go on indefinitely.

Example 1:

Let’s go through a very simple example to understand the concept of while loop. You will create a loop and after each run add 1 to the stored variable. You need to close the loop, therefore we explicitely tells R to stop looping when the variable reached 10.

Note: If you want to see current loop value, you need to wrap the variable inside the function print().

#Create a variable with value 1
begin <- 1

#Create the loop
while (begin <= 10){

#See which we are  
cat('This is loop number',begin)

#add 1 to the variable begin after each loop
begin <- begin+1
print(begin)
}
## This is loop number 1[1] 2
## This is loop number 2[1] 3
## This is loop number 3[1] 4
## This is loop number 4[1] 5
## This is loop number 5[1] 6
## This is loop number 6[1] 7
## This is loop number 7[1] 8
## This is loop number 8[1] 9
## This is loop number 9[1] 10
## This is loop number 10[1] 11

Example 2:

You bought a stock at price of 50 dollars. If the price goes below 45, we want to short it. Otherwise, we keep it in our portfolio. The price can fluctuate between -10 to +10 around 50 after each loop. You can write the code as follow:

set.seed(123)
# Set variable stock and price
stock <- 50
price <- 50

# Loop variable counts the number of loops 
loop <- 1

# Set the while statement
while (price > 45){

# Create a random price between 40 and 60
price <- stock + sample(-10:10, 1)

# Count the number of loop
loop = loop +1 

# Print the number of loop
print(loop)
}
## [1] 2
## [1] 3
## [1] 4
## [1] 5
cat('it took',loop,'loop before we short the price. The lowest price is',price)
## it took 5 loop before we short the price. The lowest price is 42
 

A work by Gianluca Sottile

gianluca.sottile@unipa.it