Control Structures Loops in R
[This article was first published on Data Perspective, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
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:
If else statement:
For loops:
As we know for loops are used for iterating items
The repeat loop is an infinite loop and used in association with a break statement.
A break statement is used in a loop to stop the iterations and flow the control outside of the loop.
Next statement enables to skip the current iteration of a loop without terminating it.
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'
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 implementation x = c(1,2,3,4,5) for(i in 1:5){ print(x[i]) } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5While loop :
#Below code shows while loop in R x = 2.987 while(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.948Repeat 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] 4Break 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] 1Next 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] 4Creating 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,salary name = 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() function DF = data.frame(cbind(name,Age,salary)) #display DF DF name Age salary 1 David 30 30000 2 John 40 120000 3 Mathew 50 55000 #dimensions of DF dim(DF) [1] 3 3 #write a function which displays the salaried person name findHighSalary = 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 function findHighSalary(DF) [1] "Mathew"
To leave a comment for the author, please follow the link and comment on their blog: Data Perspective.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.