654495996 Functions in R Programming
654495996 Functions in R Programming
Programming
Functions are useful when you want to perform a certain task
multiple times. A function accepts input arguments and produces
the output by executing valid R commands that are inside the
function.
In R Programming Language when you are creating a function the
function name and the file in which you are creating the function
need not be the same and you can have one or more function
definitions in a single R file.
Types of function in R
Language
Built-in Function: Built function
R is sq(), mean(), max(), these
function are directly call in the
program by users.
User-defile Function: R
language allow us to write our
own function.
Functions are created in R by using the command function().
The general structure of the function file is as follows:
Built-in Function in R
Programming Language
# Find sum of numbers 4 to
6.
print(sum(4:6))
evenOdd = function(x){
if(x %% 2 == 0)
return("even")
else
return("odd")
}
print(evenOdd(4))
print(evenOdd(3))
Single Input Single Output
areaOfCircle = function(radius){
area = pi*radius^2
return(area)
}
print(areaOfCircle(2))
Multiple Input Multiple Output
resultList = Rectangle(2, 3)
print(resultList["Area"])
print(resultList["Perimeter"])
Inline Functions in R
Programming Language
Sometimes creating an R script file, loading it, executing it is a lot
of work when you want to just create a very small function. So,
what we can do in this kind of situation is an inline function.
To create an inline function you have to use the function
command with the argument x and then the expression of the
function.
# A simple R program to
# demonstrate the inline function
f = function(x) x^2*4+x/3
print(f(4))
print(f(-2))
print(0)
Passing arguments to
Functions in R Programming
Language
There are several ways you can pass the arguments to the
function:
Case 1: Generally in R, the arguments are passed to the function
in the same order as in the function definition.
Case 2: If you do not want to follow any order what you can do is
you can pass the arguments using the names of the arguments
in any order.
Case 3: If the arguments are not passed the default values are
used to execute the function.
# A simple R program to demonstrate
# passing arguments to a function
Rectangle = function(length=5,
width=4){
area = length * width
return(area)
}
# Case 1:
print(Rectangle(2, 3))
# Case 2:
print(Rectangle(width = 8, length =
4))
# Case 3:
print(Rectangle())
Lazy evaluations of Functions
in R Programming Language
In R the functions are executed in a lazy fashion. When we say
lazy what it means is if some arguments are missing the function
is still executed as long as the execution does not involve those
arguments.
Example: In the function “Cylinder” given here. There are defined
three-argument “diameter”, “length” and “radius” in the function
and the volume calculation does not involve this argument
“radius” in this calculation. Now, when you pass this argument
“diameter” and “length” even though you are not passing this
“radius” the function will still execute because this radius is not
used in the calculations inside the function.
# A simple R program to demonstrate
# Lazy evaluations of functions
# Function call
divisbleBy5(100)
divisbleBy5(4)
divisbleBy5(20.0)
Adding Multiple Arguments in
R # Function definition
# To check a is divisible by b or not
A function in R divisible <- function(a, b){
programming can have if(a %% b == 0)
multiple arguments too. {
Below is an return(paste(a, "is divisible by", b))
implementation of a }
function with multiple else
arguments. {
return(paste(a, "is not divisible by", b))
}
}
# Function call
divisible(7, 3)
divisible(36, 6)
divisible(9, 2)
Adding Default Value in R
# Function call
divisible(10, 5)
Dots Argument
# Function call
fun(5, 1L, 6i, TRUE, "Dots operator")
Function as Argument
# Function definition
# Function is passed as argument
fun <- function(x, fun2){
return(fun2(x))
}