Hey guys, what’s up? Today I am going to discuss you about **for loop in r**. So let’s start—

I don’t know why some guys are searching like **for function in r**. For your kind clarification; I want to know you that it is not a function. It is a loop.

**for**loop is one of the most popular control flow statement which is used to iterate a vector. To iterate a statements or a part of the program several times, there we need to use for loop. Between **for**and **while** loop, there is only one difference. Except this, everything is the same as while loop.

**while**loop, condition is checked before execution of the body

**for**loop condition is checked after execution of the body.

__Syntax of for loop in r__

For (i in vector) { statement }

Here, **i**take on each of its value during the loop. In each iteration, statement is checked/evaluated.

## Flowchart of R For Loop

_{}^{}

*Example1: A simple R for Loop*

# Create fruit vector fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana') # Create the for statement for ( i in fruit){ print(i) }

After executing the program our output looks like below

## [1] "Apple" ## [1] "Orange" ## [1] "Passion fruit" ## [1] "Banana"

__Example 2:__** by using the polynomial of x between 1 and 4 creates a non-linear function and store it in a list by using for loop in r programming language**

# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)

After executing the program our output looks like below

```
## [1] 1 4 9 16
```

__Example3__**: write a program using R for Loop which will check whether a is Prime or not**

# Program to check if the input number is prime or not # take input from the user num = as.integer(readline(prompt="Enter a number: ")) flag = 0 # prime numbers are greater than 1 if(num > 1) { # check for factors flag = 1 for(i in 2:(num-1)) { if ((num %% i) == 0) { flag = 0 break } } } if(num == 2) flag = 1 if(flag == 1) { print(paste(num,"is a prime number")) } else { print(paste(num,"is not a prime number")) }

Output:

Output 1 ================================ Enter a number: 25 [1] "25 is not a prime number" Output 2 ================================ Enter a number: 19 [1] "19 is a prime number"

*Example4: Find the factorial of a number using for function in r 😀*

# take input from the user num = as.integer(readline(prompt="Enter a number: ")) factorial = 1 # check is the number is negative, positive or zero if(num < 0) { print("Sorry, factorial does not exist for negative numbers") } else if(num == 0) { print("The factorial of 0 is 1") } else { for(i in 1:num) { factorial = factorial * i } print(paste("The factorial of", num ,"is",factorial)) }

After executing the program our output looks like below

Enter a number: 8 [1] "The factorial of 8 is 40320"

There is a built-in function in r programming language. It is factorial().

> factorial(8) [1] 40320

__Example5: Write a Multiplication Table program by using R for Loop __

# R Program to find the multiplicationtable (from 1 to 10) # take input from the user num = as.integer(readline(prompt = "Enter a number: ")) # use for loop to iterate 10 times for(i in 1:10) { print(paste(num,'x', i, '=', num*i)) }

After executing the program our output looks like below

Enter a number: 7 [1] "7 x 1 = 7" [1] "7 x 2 = 14" [1] "7 x 3 = 21" [1] "7 x 4 = 28" [1] "7 x 5 = 35" [1] "7 x 6 = 42" [1] "7 x 7 = 49" [1] "7 x 8 = 56" [1] "7 x 9 = 63"

__for loop in r over a list __

# Create a list with three vectors fruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'), Money = c(10, 12, 15), purchase = FALSE) for (p in fruit) { print(p) }

Output:

## [1] "Apple" "Orange" "Passion fruit" "Banana" ## [1] 10 12 15 ## [1] FALSE

**R for loop over a matrix **: A matrix has 2-dimension, rows and columns. We have to define 2 for loop, 1 for the rows and another for the column to iterate over a matrix.

# Create a matrix mat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2) # Create the loop with r and c to iterate over the matrix for (r in 1:nrow(mat)) for (c in 1:ncol(mat)) print(paste("Row", r, "and column",c, "have values of", mat[r,c]))

Output:

## [1] "Row 1 and column 1 have values of 10" ## [1] "Row 1 and column 2 have values of 16" ## [1] "Row 2 and column 1 have values of 11" ## [1] "Row 2 and column 2 have values of 17" ## [1] "Row 3 and column 1 have values of 12" ## [1] "Row 3 and column 2 have values of 18" ## [1] "Row 4 and column 1 have values of 13" ## [1] "Row 4 and column 2 have values of 19" ## [1] "Row 5 and column 1 have values of 14" ## [1] "Row 5 and column 2 have values of 20" ## [1] "Row 6 and column 1 have values of 15" ## [1] "Row 6 and column 2 have values of 10"

Today we have seen many example of **for loop in r**. I hope you guys have understood everything what I have discussed above. On more things, I want to remind you again, it is not **for function in r**. You guys have to go a long way. So you should learn what it actually called. That’s why, I emphasize it again. So, guys, that’s all for today. Later we will discuss another topic of r programming language. Till then, take care. Happy Coding