Nested loops in R
We can nest loops, as well as if
statements, to perform some more complicated tasks. In this recipe, we will first define a square matrix and then write a nested for loop to print only those values where I = J, namely, the values in the matrix placed in (1,1), (2,2), and so on.
How to do it…
We first define a matrix in R using the following matrix()
function:
mat= matrix(1:25, 5,5)
Now, we use the following code to output only those elements where I = J:
for (i in 1:5){ for (j in 1:5){ if (i ==j){ print(mat[i,j]) } } }
The if
statement is nested inside two for
loop statements. As we have a matrix, we have to use two for
loops instead of just one. The output of the matrix would be values such as 1, 7, 13, and 19.