Control Structures in R --> if , else , for , while , repeat , break  , next , return

Control structures in R

These allow you to control the flow of execution of a script .

It includes :

• if , else

• for

• while

• repeat

• break

• next

• return

Contact at TJT@TechnicalJockey.com , if you are looking for an Instructor Based Online Training !

If

The if statement allows you to control if a program enters a section of code or not based on whether a given condition is TRUE or FALSE.

The structure of If is :

if(condition) {

#do something

}

We want to check a condition if "r" greater than 30 . If the condition is TRUE than print "r". We use print() function to print "r" object.

r  <- 19

if(r > 30){

print(r)

}

In above program "r" stores 19 . The condition is FALSE , if statement does not work.

Output:

If we assign "r" equal to 40 .So, if condition is TRUE and print "r" object.

r<-45

Output:

If else

Sometimes when the condition in an if statement evaluates to FALSE, it would be nice to execute some code instead of the code executed when the statement evaluates to TRUE. The "else" statement effectively says that whatever code after it (whether a single line or code between brackets) is executed if the if statement is FALSE

The structure of if else statements is:

if(condition) {

#do something

} else {

#do something

}

We are checking the condition if x greater than 1 than it shows "x greater than 1" otherwise it shows "x less or equal to 1".

We create a variable x and store 25.

x<- 25

if(x > 1){

print("x greater than 1")

} else{

print("x less or equal to  1")

}

Output:

We create a variable x and store 12

Random number generation

We can create random number for the normal distribution with mean equals to 0 and standard deviation equals to 1 . We use rnorm() function to create random numbers.

We create an object to store random number by using code:

x<-rnorm(1)

x

Output:

Nested if else statements

The structure of nested if else statements is :

if(condition){

#do something

} else{

if(condition){

#do something

}else{

#do something

}

}

We create a random number and compare its value by using nested if else statements as:

x<-rnorm(1)

x

if(x > 1){

print("x greater than 1")

} else{

if(x>=-1){

print("Between -1 and 1")

}else{  print("x less than -1")

}

}

Output:

If  and else if statements

We can check multiple conditions by using if and else if conditions as:

if(condition1){

#do something

} else if(condition){

#do something

} else { #do something

}

For example :-

x<-rnorm(1)

x

if(x>1){

print("x greater than 1")

} else if(x>=-1){

print("Between -1 and 1")

} else{

print("Less than -1")

}

Output:

We create an object "x" which stores 0 value.

x <- 0

We are checking x is greater than 3 . If it is TRUE than y will store 10 value otherwise 0 value.

y <- if(x >3 ){

10

}  else {0}

y

while loop

A while loop executes a statement repetitively until the condition is TRUE. If the condition is FALSE then while loop abrupt .

The structure of a while loop is :

while(condition){

#do something

}

While loop

For example :

counter<-1

while(counter<12){

print(counter)

counter<-counter+1

}

Output:

The condition FALSE when counter equals to 12 . So, while loop iterate up to 11 times.

We can also create multiple statements in single line by using ";" . The semi-colon symbol is used to write multiple statements in a single line.

x <- 1

while(x < 5) {x <- x+1; print(x);}

for loop

A for loop is a repetition control structure that allows you to repeat a specific number of times.

The structure of a for loop is -

for(object in range){

#do something

}

We want to print numbers from 1 to 10.

for(i in 1:10){

print(i)

}

We use seq() function to create sequence from 1 to 10 separated by 2.

for(i in seq(1,10,by=2)){

print(i)

}

We create an object "a" to store character vector. We want to print all the values in "a" object.

x <- c("a","b","c","d","e","f")

for(i in 1:4){

print(x[i])

}

We create an object "x" to store matrix of 2 rows and 3 columns.

x <- matrix(1:6,2,3)

x

I have used seq_len() function to create sequence .

We are using two for loops to print matrix. In first for loop , we apply the loop in row and in second for loop we used columns to print matrix .

for(i in seq_len(nrow(x))){

for(j in seq_len(ncol(x))){

print(x[i,j])

}

}

Output:

I am using if statement inside for loop .

for( i in  1:4){

if (i == 3){

print("three")

}

print(i)

}

Output:

next statement

We are using next to skip the current iteration of a loop without terminating it.

We have used if condition to skip when i equals to 2.

for(i in 1:3){

if(i == 2){

next

}

print(i)

}

Output:

We want to show values starting from 20 to 100. So , we used if statement to skip values less than or equal to 20 in for loop.

for (i in 1:100){

if(i <= 20){

next()

}

print(i)

}

break statement

It is used to terminate loop immediately and resumes after the next statement following the loop.

We are breaking the loop when the value of i equals to 2.

for(i in 1:3){

if( i==2){

break

}

print(i)

}

repeat loop

It executes the code again and again until a stop condition is met .

The structure of repeat loop is :

repeat {

#commands

if(condition){

break

}

}

Repeat loop is :

We create a repeat loop to print values up to 5.

x <- 1

repeat {

print(x)

x = x+1

if (x == 6){

break

}

}

Output:

Contact at TJT@TechnicalJockey.com , if you are looking for an Instructor Based Online Training !

There are no entries yet.

Looking for Corporate Training ? Reach out to us at Akriti.Lal@instrovate.com

Reach out to us if you are looking for Corporate Training to Build The Next Generation Analytical Workforce with an in-depth understanding of  Exploratory Data Analysis , Data Visualisation, Data Analytics , AI First , Machine Learning & Deep Learning Training & Consulting helping them to take Data Informed Decision at each stage of the business.

We understand that At the present times , the Entire Industry is in a Tranformation stage with the Softwares  being rebuilt with Artificial Intelligence Capabilities .

We need SMART WORKFORCE for the SMART SOFTWARES to reap the maximum return .

Whatsapp at +91-9953805788 or email at - akriti.lal@instrovate.com if you would like to know more .

• Corporate Tableau Training in Gurgaon
• Corporate Data Analytics Training in Gurgaon
• Corporate Microsoft Power BI Training in Gurgaon
• Corporate Microstrategy Training in Gurgaon
• Corporate Google Data Studio Training in Gurgaon
• Corporate Python Training in Gurgaon
• Corporate Advance Analytics in R Programming Training in Gurgaon
• Corporate Machine Learning Training in Gurgaon
• Corporate Deep Learning Training in Gurgaon
• Corporate Data Visualization Training in Gurgaon

Instrovate Technologies

Noida, Gurgaon

akriti.lal@instrovate.com

Hit Your Refresh Button To Rise Higher