Home » How to Write a Repeat Loop in R (3 Examples)

How to Write a Repeat Loop in R (3 Examples)

by Erma Khan

A repeat-loop in R can be used to repeatedly perform some action until a stop condition is reached.

You can use the following basic syntax to write a repeat-loop in R:

repeat{
  #do something

  if(some condition){
  break
  }
}

The following examples show how to use a repeat-loop in different scenarios.

Example 1: Print Values Until Specific Number is Reached

The following code shows how to use a repeat-loop to print values starting at 1 until 10 is reached:

#define starting value
x #perform repeat-loop
repeat{
  x print(x)

  if(x >= 10){
  break
  }
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10

Here’s how this code worked:

  • We defined the starting value as x = 0.
  • We told R to increment x by 1, then print x.
  • We told R to break the repeat-loop once x had reached a value of 10 or greater. 

Example 2: Add Values to Vector Until Specific Number is Reached

The following code shows how to use a repeat-loop to add values to a vector until a specific number is reached:

#define empty vector and starting value
data #perform repeat-loop
repeat{
  x   print(data)
  
  if(x >= 5){
  break
  }
}

[1] 1
[1] 1 2
[1] 1 2 3
[1] 1 2 3 4
[1] 1 2 3 4 5

Here’s how this code worked:

  • We created an empty vector and defined the starting value as x = 0.
  • We told R to increment x by 1, then insert the value of x into the xth position of the vector.
  • We told R to break the repeat-loop once x had reached a value of 5 or greater.

Example 3: Modify Values in Data Frame Until Specific Number is Reached

The following code shows how to use a repeat-loop to modify the values in an existing data frame until a specific number is reached:

#define data frame and starting value
df frame(A=c(6, 7, 2, 8),
                 B=c(2, 4, 5, 5))
x #perform repeat-loop
repeat{
  x if(x >= nrow(df)){
  break
  }
}

#view resulting data frame
df

  A B
1 1 2
2 2 4
3 3 6
4 4 8

Here’s how this code worked:

  • We created an empty data frame and defined the starting value as x = 0.
  • We told R to increment x by 1, then insert the value of x into the xth position of column A and insert the value of x*2 into the xth position of column B.
  • We told R to break the repeat-loop once x had reached a value equal to or greater than the number of rows in the data frame.

Additional Resources

The following tutorials explain how to perform other common tasks in R:

How to Create a Nested For Loop in R
How to Write a Nested If Else Statement in R
How to Loop Through Column Names in R

Related Posts