Nested Loop in R (2 Examples)
In this R tutorial you’ll learn how to nest multiple loops.
The article will consist of two examples for the nesting of while- and for-loops. To be more specific, the content is structured as follows:
So without further additions, let’s dive right in:
Example 1: Creating Nested for-Loop in R
In Example 1, I’ll show how to create two nested for-loops in R.
In this example, we are running three iterations of the outer for-loop with the index i and five iterations of the inner for-loop with the index j.
In each iteration we are printing a sentence to the RStudio console that contains the current index numbers of both indices.
Let’s do this:
for(i in 1:3) { # Head of outer loop for(j in 1:5) { # Head of inner loop print(paste("This is iteration i =", i, "and j =", j)) # Some output } } # [1] "This is iteration i = 1 and j = 1" # [1] "This is iteration i = 1 and j = 2" # [1] "This is iteration i = 1 and j = 3" # [1] "This is iteration i = 1 and j = 4" # [1] "This is iteration i = 1 and j = 5" # [1] "This is iteration i = 2 and j = 1" # [1] "This is iteration i = 2 and j = 2" # [1] "This is iteration i = 2 and j = 3" # [1] "This is iteration i = 2 and j = 4" # [1] "This is iteration i = 2 and j = 5" # [1] "This is iteration i = 3 and j = 1" # [1] "This is iteration i = 3 and j = 2" # [1] "This is iteration i = 3 and j = 3" # [1] "This is iteration i = 3 and j = 4" # [1] "This is iteration i = 3 and j = 5" |
for(i in 1:3) { # Head of outer loop for(j in 1:5) { # Head of inner loop print(paste("This is iteration i =", i, "and j =", j)) # Some output } } # [1] "This is iteration i = 1 and j = 1" # [1] "This is iteration i = 1 and j = 2" # [1] "This is iteration i = 1 and j = 3" # [1] "This is iteration i = 1 and j = 4" # [1] "This is iteration i = 1 and j = 5" # [1] "This is iteration i = 2 and j = 1" # [1] "This is iteration i = 2 and j = 2" # [1] "This is iteration i = 2 and j = 3" # [1] "This is iteration i = 2 and j = 4" # [1] "This is iteration i = 2 and j = 5" # [1] "This is iteration i = 3 and j = 1" # [1] "This is iteration i = 3 and j = 2" # [1] "This is iteration i = 3 and j = 3" # [1] "This is iteration i = 3 and j = 4" # [1] "This is iteration i = 3 and j = 5"
The previous RStudio console output illustrates the sequence of how our nested for-loops were executed.
Example 2: Nesting for-Loop in while-Loop
It is also possible to nest different types of loops. Example 2 explains how to nest a for-loop into a while-loop.
First, we have to create a data object containing our running index:
i <- 1 # Create running index |
i <- 1 # Create running index
Then, we can run our nested while- and for-loops as shown below:
while(i <= 3) { # Head of while-loop for(j in 1:5) { # Head of inner loop print(paste("This is iteration i =", i, "and j =", j)) # Some output } i <- i + 1 # Increase index } # [1] "This is iteration i = 1 and j = 1" # [1] "This is iteration i = 1 and j = 2" # [1] "This is iteration i = 1 and j = 3" # [1] "This is iteration i = 1 and j = 4" # [1] "This is iteration i = 1 and j = 5" # [1] "This is iteration i = 2 and j = 1" # [1] "This is iteration i = 2 and j = 2" # [1] "This is iteration i = 2 and j = 3" # [1] "This is iteration i = 2 and j = 4" # [1] "This is iteration i = 2 and j = 5" # [1] "This is iteration i = 3 and j = 1" # [1] "This is iteration i = 3 and j = 2" # [1] "This is iteration i = 3 and j = 3" # [1] "This is iteration i = 3 and j = 4" # [1] "This is iteration i = 3 and j = 5" |
while(i <= 3) { # Head of while-loop for(j in 1:5) { # Head of inner loop print(paste("This is iteration i =", i, "and j =", j)) # Some output } i <- i + 1 # Increase index } # [1] "This is iteration i = 1 and j = 1" # [1] "This is iteration i = 1 and j = 2" # [1] "This is iteration i = 1 and j = 3" # [1] "This is iteration i = 1 and j = 4" # [1] "This is iteration i = 1 and j = 5" # [1] "This is iteration i = 2 and j = 1" # [1] "This is iteration i = 2 and j = 2" # [1] "This is iteration i = 2 and j = 3" # [1] "This is iteration i = 2 and j = 4" # [1] "This is iteration i = 2 and j = 5" # [1] "This is iteration i = 3 and j = 1" # [1] "This is iteration i = 3 and j = 2" # [1] "This is iteration i = 3 and j = 3" # [1] "This is iteration i = 3 and j = 4" # [1] "This is iteration i = 3 and j = 5"
Note that the output of our nested while- and for-loops is exactly the same as in Example 1 were we used only for-loops. We could also use repeat-loops to generate the same result.
Video, Further Resources & Summary
Would you like to know more about nesting loops? Then you might want to watch the following video of my YouTube channel. I show the R programming syntax of the present article in the video:
The YouTube video will be added soon.
Furthermore, you could have a look at the related tutorials of my website:
In summary: In this tutorial, I illustrated how to nest loops in R programming. If you have any additional questions, please let me know in the comments.
2 Comments. Leave new
Can you please share the nested iterative code?
Hey Bernard,
Could you please explain what you mean exactly? I’m not sure if I get your question correctly.
Regards,
Joachim