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