# Control Structures Loops in R

February 27, 2016
By

(This article was first published on Data Perspective, and kindly contributed to R-bloggers)

As part of Data Science tutorial Series in my previous post I posted on basic data types in R. I have kept the tutorial very simple so that beginners of R programming  may takeoff immediately.
Please find the online R editor at the end of the post so that you can execute the code on the page itself.
In this section we learn about control structures loops used in R. Control strcutures in R contains conditionals, loop statements like any other programming languages.

Loops are very important and forms backbone to any programming languages.Before we get into the control structures in R, just type as below in Rstudio:

` ?control `

If else statement:

`#See the code syntax below for if else statement if(x>1){ print("x is greater than 1") }else{  print("x is less than 1")  } #See the code below for nested if else statement x=10  x=10 if(x>1 & x<7){     print("x is between 1 and 7")}else if(x>8 & x< 15){         print("x is between 8 and 15")     }[1] "x is between 8 and 15" `

For loops:
As we know for loops are used for iterating items

` #Below code shows for  loop implementationx = c(1,2,3,4,5) for(i in 1:5){     print(x[i]) }[1] 1[1] 2[1] 3[1] 4[1] 5`

While loop :

` #Below code shows while loop in Rx = 2.987while(x <= 4.987) {      x = x + 0.987     print(c(x,x-2,x-1))  }[1] 3.974 1.974 2.974[1] 4.961 2.961 3.961[1] 5.948 3.948 4.948`

Repeat Loop:
The repeat loop is an infinite loop and used in association with a break statement.

` #Below code shows repeat loop:a = 1 repeat { print(a) a = a+1 if(a > 4) break }[1] 1[1] 2[1] 3[1] 4`

Break statement:
A break statement is used in a loop to stop the iterations and flow the control outside of the loop.

` #Below code shows break statement:x = 1:10  for (i in x){      if (i == 2){          break      }     print(i) }[1] 1`

Next statement:
Next statement enables to skip the current iteration of a loop without terminating it.

` #Below code shows next statement x = 1: 4  for (i in x) {      if (i == 2){          next}     print(i) }[1] 1[1] 3[1] 4`

Creating a function in R:
function() is a built-in R function whose job is to create functions. In the below example function() takes one parameter x, executes a for loop logic.
The function object thus created using function() is assigned to a variable (‘words.names’). Now this created function will be called using the variable ‘word.names’

` #Below code shows us, how a function is created in R:Syntax: function_name = function(parameters,..){ code} words = c("R", "datascience", "machinelearning","algorithms","AI") words.names = function(x) {     for(name in x){          print(name)      }} #Calling the function words.names(words)[1] "R"[1] "datascience"[1] "machinelearning"[1] "algorithms"[1] "AI"`

Hands on exercise of what we have learnt so far

`We create a data frame DF, run for loop, ifelse in a function and call the function#create 3 vectors name,age,salaryname = c("David","John","Mathew")age = c(30,40,50)salary = c(30000,120000,55000)#create a data frame DF by combining the 3 vectors using cbind() functionDF = data.frame(cbind(name,Age,salary))#display DFDF    name Age salary1  David  30  300002   John  40 1200003 Mathew  50  55000#dimensions of DF dim(DF)[1] 3 3 #write a function which displays the salaried person namefindHighSalary = function(df){     Maxsal = 0     empname = ""     for(i in 1:nrow(DF)){         tmpsal = as.numeric(DF[i,3] )         if(tmpsal > Maxsal){             Maxsal = tmpsal             empname = DF[i,1]         }     }     return(as.character(empname)) }#calling the functionfindHighSalary(DF)[1] "Mathew"`

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...