R Functions

Functions in R are essential blocks of code that encapsulate specific operations, making your code more organized, readable, and reusable. They allow you to create modular components that can be called with various inputs, enhancing the efficiency and maintainability of your programs. Here's an in-depth explanation with examples:

Function Definition

function_name <- function(arg1, arg2, ...) { # Function body # Perform operations on arguments # Return a value }

Simple Function in R

# Function to calculate the square of a number square <- function(x) { return(x^2) } result <- square(5) # Calling the function print(result) # Output: 25

Function with Multiple Arguments

# Function to calculate the area of a rectangle rectangle_area <- function(length, width) { return(length * width) } area <- rectangle_area(6, 4) print(area) # Output: 24

Function with Default Values

# Function with default argument values greet <- function(name = "Guest") { return(paste("Hello,", name)) } message1 <- greet() # Using default value message2 <- greet("William") # Providing a value print(message1) # Output: Hello, Guest print(message2) # Output: Hello, William

Returning Multiple Values

# Function to calculate sum and average calculate_stats <- function(numbers) { total <- sum(numbers) average <- mean(numbers) return(list(sum = total, avg = average)) } numbers <- c(10, 20, 30, 40, 50) result <- calculate_stats(numbers) print(result$sum) # Output: 150 print(result$avg) # Output: 30

Functions can also have side effects, where they modify variables or perform actions without returning a value.


By using functions, you can modularize your code, making it easier to manage, debug, and update. They are particularly valuable when a task is performed repeatedly or when you want to encapsulate a complex operation. Well-designed functions are a cornerstone of efficient and maintainable R programming.