**Functions in R**

A function is a block of organized and reusable code that is used to perform a specific task in a program. A function is created by using the **function** keyword.

The basic syntax of a function is given below:

FunctionName <- function(arg1, arg2, ...) { Function Body }

**Want to get certified in R! Learn R from top R experts and excel in your career with Intellipaat’s R Programming certification!**

where,

- FunctionName is the name of a function that is stored as an R object.
- Arguments are used to provide specific inputs to a function while a function is invoked. A function can have zero, single, multiple, or default arguments.
- Function Body contains the block of code that performs the specific task assigned to a function.
- Return Value is the value that a function returns when it succeeds in performing the task. We can also make a function with no return value.

So now that we have learned what functions in R programming are, let’s have a quick rundown of all the topics that will be covered in this tutorial

- R Functions Types
- In-built Functions
- User-defined Functions

## R Functions Types

There are two types of functions in R:

- In-built functions
- User-defined functions

**In-built Functions**

These functions in R programming are provided by the R environment for direct execution, to make our work easier.

Some examples for the frequently used in-built functions are as follows:

#seq() To create a sequence of numbers print(seq(1,9))

Output:

[1] 1 2 3 4 5 6 7 8 9

#sum() To find the sum of numbers print(sum(25,50))

Output:

[1] 75

#mean() To find the mean of numbers print(mean(41:68))

Output: [1] 54.5

#paste() To combine vectors after converting them to characters paste(1,"sam",2,"rob",3,"max")

Output:

[1] "1 sam 2 rob 3 max"

paste(1,"sam",2,"rob",3,"max", sep = ',') #sep is used to separate the values

**We have the perfect professional R Programming Training in Toronto for you!**

Output:

[1] "1,sam,2,rob,3,max"

paste(1:3, c("sam","rob","max"), sep = '-', collapse = " and ") #collapse is used to separate the values when a vector is passed

Output:

[1] "1-sam and 2-rob and 3-max"

#paste0() Has default sep=“” argument paste0(1,"sam",2,"rob",3,"max")

Output:

[1] "1sam2rob3max"

paste0(1:3, c("sam","rob","max"), collapse = " and ")

Output:

[1] "1sam and 2rob and 3max"

head(x,n) #To retrieve the first n rows of a matrix, data frame, or a vector x = data frame, matrix, or vector n = number of rows to be retrieved empid <- c(1:4) empname <- c("Sam","Rob","Max","John") empdept <- c("Sales","Marketing","HR","R & D") emp.data <- data.frame(empid,empname,empdept) print(head(emp.data,3))

Output:

empid empname empdept 1 1 Sam Sales 2 2 Rob Marketing 3 3 Max HR

tail(x,n) #To retrieve the last n rows of a matrix, data frame, or a vector x = data frame, matrix, or vector n = number of rows to be retrieved empid <- c(1:4) empname <- c("Sam","Rob","Max","John") empdept <- c("Sales","Marketing","HR","R & D") emp.data <- data.frame(empid,empname,empdept) print(tail(emp.data,2))

Output:

empid empname empdept 3 3 Max HR 4 4 John R & D

min() To return the minimum value from a vector. x <- c(3,45,6,7,89,9)print(min(x)) #max() To return the maximum value from a vector x <- c(3,45,6,7,89,9) print(max(x))

Output:

[1] 3 [1] 89

#range() To return the minimum and maximum values from a vector x <- c(3,45,6,7,89,9) range(x) x <- c(3,45,-6,7,89,Inf,9) range(x) x <- c(3,45,-6,7,NA,89,Inf,9) range(x) x<- c(3,45,-6,7,NA,89,Inf,9) range(x, na.rm = TRUE) To remove NA from the result (na.rm) is used

Output:

[1] 3 89 [1] -6 Inf [1] NA NA [1] -6 Inf

#which.min() To return the index of the minimum value from a vector x <- c(3,45,6,7,89,9) print(which.min(x)) #which.max() To return the index of the maximum value from a vector x <- c(3,45,6,7,89,9) print(which.max(x))

Output:

[1] 1 [1] 5

**Wish to crack Big Data job interviews? Intellipaat’s Top R Interview Questions are meant only for you!**

**User-defined Functions**

These functions in R programming language are declared, and defined by a user according to the requirements, to perform a specific task.

For example:

#Create a function to print the sum of squares of numbers in sequence sum = 0 Function1 <- function(x) { for(i in 1:x) { a <- i^2 sum = sum + a print(sum) } } #Calling a function Function1(5)

Output:

[1] 1 [1] 5 [1] 14 [1] 30 [1] 55

#Function without an Argument sum = 0 Function1 <- function() { for(i in 1:5) { a <- i^2 sum = sum + a print(sum) } } #Calling a function Function1()

Output:

[1] 1 [1] 5 [1] 14 [1] 30 [1] 55

#Create a function to print the sum of squares of three numbers Function1 <- function(x,y,z) { sum = x^2 + y^2 + z^2 print(sum) } } #Calling a function Function1(2,4,6) #Call by position of arguments Function1(x=3,y=5,z=7) #Call by names of arguments

Output:

[1] 56 [1] 83

Function1 <- function(x=4,y=5,z=6) { sum = x^2 + y^2 + z^2 print(sum) } #Calling a function Function1() #Calling a function with default arguments Function1(6,7,8) #Passing new values to replace default arguments

**If you have any doubts or queries related to R Programming, get them clarified from the R experts on our R Programming Community!**

Output:

[1] 77 [1] 149

In this tutorial we learned what functions in R programming are, the basic syntax of functions in R programming, in-built functions and how to use them to make our work easier, the syntax of a user-defined function, and different types of user-defined functions. In the next session, we are going to learn how to read files in R programming.

**For the best of career growth, check out Intellipaat’s R Programming training in Hyderabad and get certified!**