We use the R break
and next
statements to alter the flow of a program. These are also known as jump statements in programming:
break
- terminate a looping statementnext
- skips an iteration of the loop
R break Statement
You can use a break
statement inside a loop (for
, while
, repeat
) to terminate the execution of the loop. This will stop any further iterations.
The syntax of the break
statement is:
if (test_expression) {
break
}
The break
statement is often used inside a conditional (if...else
) statement in a loop. If the condition inside the test_expression
returns True
, then the break
statement is executed. For example,
# vector to be iterated over
x = c(1, 2, 3, 4, 5, 6, 7)
# for loop with break statement
for(i in x) {
# if condition with break
if(i == 4) {
break
}
print(i)
}
Output
[1] 1 [1] 2 [1] 3
Here, we have defined a vector of numbers from 1
to 7
. Inside the for
loop, we check if the current number is 4
using an if
statement.
If yes, then the break
statement is executed and no further iterations are carried out. Hence, only numbers from 1
to 3
are printed.
break Statement in Nested Loop
If you have a nested loop and the break
statement is inside the inner loop, then the execution of only the inner loop will be terminated.
Let's check out a program to use break statements in a nested loop.
# vector to be iterated over
x = c(1, 2, 3)
y = c(1, 2, 3)
# nested for loop with break statement
for(i in x) {
for (j in y) {
if (i == 2 & j == 2) {
break
}
print(paste(i, j))
}
}
Output
[1] "1 1" [1] "1 2" [1] "1 3" [1] "2 1" [1] "3 1" [1] "3 2" [1] "3 3"
Here, we have a break
statement inside the inner loop.
We have used it inside a conditional statement such that if both the numbers are equal to 2
, the inner loop gets terminated.
The flow then moves to the outer loop. Hence, the combination (2, 2)
is never printed.
R next Statement
In R, the next
statement skips the current iteration of the loop and starts the loop from the next iteration.
The syntax of the next
statement is:
if (test_condition) {
next
}
If the program encounters the next
statement, any further execution of code from the current iteration is skipped, and the next iteration begins.
Let's check out a program to print only even numbers from a vector of numbers.
# vector to be iterated over
x = c(1, 2, 3, 4, 5, 6, 7, 8)
# for loop with next statement
for(i in x) {
# if condition with next
if(i %% 2 != 0) {
next
}
print(i)
}
Output
[1] 2 [1] 4 [1] 6 [1] 8
Here, we have used an if
statement to check whether the current number in the loop is odd or not.
If yes, the next
statement inside the if block is executed, and the current iteration is skipped.