 # R while Loop

In programming, loops are used to repeat a block of code as long as the specified condition is satisfied. Loops help you to save time, avoid repeatable blocks of code, and write cleaner code.

In R, there are three types of loops:

## R while Loop

`while` loops are used when you don't know the exact number of times a block of code is to be repeated. The basic syntax of `while` loop in R is:

``````while (test_expression) {
# block of code
}``````
• Here, the `test_expression` is first evaluated.
• If the result is `TRUE`, then the block of code inside the `while` loop gets executed.
• Once the execution is completed, the `test_expression` is evaluated again and the same process is repeated until the `test_expression` evaluates to `FALSE`.
• The `while` loop will terminate when the boolean expression returns `FALSE`.

### Example 1: R while Loop

Let's look at a program to calculate the sum of the first ten natural numbers.

``````# variable to store current number
number = 1

# variable to store current sum
sum = 0

# while loop to calculate sum
while(number <= 10) {

# calculate sum
sum = sum + number

# increment number by 1
number = number + 1
}

print(sum)``````

Output

` 55`

Here, we have declared two variables: number and sum. The `test_condition` inside the `while` statement is `number <= 10`.

This means that the `while` loop will continue to execute and calculate the sum as long as the value of number is less than or equal to `10`.

### Example 2: while Loop With break Statement

The `break` statement in R can be used to stop the execution of a `while` loop even when the test expression is `TRUE`. For example,

``````number = 1

# while loop to print numbers from 1 to 5
while(number <= 10) {
print(number)

# increment number by 1
number = number + 1

# break if number is 6
if (number == 6) {
break
}
}``````

Output

``` 1
 2
 3
 4
 5```

In this program, we have used a `break` statement inside the `while` loop, which breaks the loop as soon as the condition inside the `if` statement is evaluated to `TRUE`.

``````if (number == 6) {
break
}``````

Hence, the loop terminates when the number variable equals to `6`. Therefore, only the numbers 1 to 5 are printed.

### Example 3: while Loop With next Statement

You can use the `next` statement in a `while` loop to skip an iteration even if the test condition is `TRUE`. For example,

``````number = 1

# while loop to print odd number between 1 to 10
while(number <= 10) {

# skip iteration if number is even
if (number %% 2 == 0) {
number = number + 1
next
}

# print number if odd
print(number)

# increment number by 1
number = number + 1
}``````

Output

``` 1
 3
 5
 7
 9```

This program only prints the odd numbers in the range of 1 to 10. To do this, we have used an `if` statement inside the `while` loop to check if number is divisible by 2.

Here,

• if number is divisible by 2, then its value is simply incremented by 1 and the iteration is skipped using the `next` statement.
• if number is not divisible by 2, then the variable is printed and its value is incremented by 1.