# Looping in R (for, while)

For and while loops are essential control structures in R that facilitate the repetition of code blocks. They allow you to execute a sequence of instructions multiple times, enabling efficient processing and data manipulation. Here's a comprehensive explanation with examples:

## For Loop

The for loop is used to iterate over a sequence, such as a vector, list, or numeric range.

Syntax:
for (variable in sequence) { # Code to execute in each iteration }

### Iterating Over a Vector

colors <- c("red", "green", "blue") for (color in colors) { print(paste("I like", color)) } #Output: "I like red" "I like green" "I like blue"

In the above "for" loop example, the loop iterates over the elements of the colors vector, printing a message for each color.

### Using Numeric Range

for (i in 1:5) { print(paste("Current iteration:", i)) } #Output: "Current iteration: 1" "Current iteration: 2" "Current iteration: 3" "Current iteration: 4" "Current iteration: 5"

In the above "for" loop example, the loop iterates over a numeric range from 1 to 5, printing the current iteration number.

## While Loop

The while loop repeatedly executes a block of code as long as a specified condition remains true.

Syntax:
while (condition) { # Code to execute while the condition is true }

### Counting Down

countdown <- 5 while (countdown > 0) { print(countdown) countdown <- countdown - 1 } #Output: 5 4 3 2 1

### Sum of Consecutive Integers

sum_value <- 0 current <- 1 while (current <= 10) { sum_value <- sum_value + current current <- current + 1 } print(paste("Sum of first 10 integers:", sum_value)) #Output:"Sum of first 10 integers: 55"

The "while" loop examples illustrate a countdown scenario and the calculation of the sum of the first 10 consecutive integers.

### Conclusion

For loops are particularly useful when you know the number of iterations in advance, while while loops are handy when the number of iterations is uncertain or based on a condition. By employing these loops effectively, you can streamline repetitive tasks, process data efficiently, and enhance the overall functionality of your R programs.