# R Functions

A function is a self-contained module that accomplishes a specific task. Functions take input arguments and return results by executing the functions’ expressions. Functions allow us to automate repetitive tasks by making our code more readable.

## How to call a function in R?

To call or invoke a function, type the function name, followed by the round parentheses. The value to be evaluated goes inside the parentheses. For example, if you want to sum numbers from 1 to 1000, you can use the built-in sum() function. To call this function, run the following code:

``sum(1:1000)``

#### Output

`` 500500``

Here, we have given the function’s name, followed by the parentheses and the arguments inside of it.

## Types of functions in R

There are 2 types of functions in R:

1. Built-in functions: R comes with a set of pre-created functions that we can use. For example, substr(), sqrt(), mean() etc.
2. User-defined functions: As the name suggests, User-defined functions are written by the users.

## Built-in functions in R

Can be categorized into:

### Numeric Functions

Functions used on numeric values are called numeric functions. Common numeric functions are: abs(), sqrt(), floor(), ceiling(), log(), exp() etc.

#### Examples

``````abs(-5) #returns the absolute value
 5
sqrt(64) #returns the square root of the number
 8
floor(3.14159) #returns the integer below the passed in number
 3
ceiling(3.14159) #returns the integer above the passed in number
 4
log(10) #returns the logarithm of the number
 2.302585
exp(10) #retuns the exponent of the number
 22026.47``````

### Character Functions

Functions used to manipulate the characters or strings are Character functions. Common character functions are: toupper(), tolower(), grepl(), strsplit(), paste() etc.

#### Examples

``````toupper("stop yelling!") #converts into uppercase
 "STOP YELLING!"
tolower("WELCOME") #converts into lowercase
 "welcome"
grepl("e","Frisbee") #finds the character “e” in the string “Frisbee”
 TRUE
strsplit("go-to-go","-") #splits the strings on the basis of delimiter “-”
 "go" "to" "go"
paste("Ryan", "Broda", sep = "_") #concatenate the strings with the separator “_”
 "Ryan_Broda"``````

### Statistical Functions

Common Statistical functions are: mean(), median(), max(), min().

#### Examples

``````x <- c(4,55,78,99,98,67)
mean(x) #returns the average of the numbers
 66.83333|
median(x) #returns the median of the numbers
 72.5
max(x) #returns the maximum of the numbers
 99
min(x) #returns the minimum of the numbers
 4``````

### Other Functions

Some of the other widely used functions include: c(), rep(), seq() etc.

#### Examples

``````c(4,55,78,99,98,67) #returns a vector of numbers
 4 55 78 99 98 67
rep("Hello", 5) #repeats a value(or values) a specific number of times
 "Hello" "Hello" "Hello" "Hello" "Hello"
seq(from = 1, to = 10) #starts a sequence of number from one value to another
 1 2 3 4 5 6 7 8 9 10``````

## User-defined functions

Let’s create a simple function to add one to the passed number.

``````add_one = function(X){
X+1
}
`` 501``