Categories: Data Science

Learn R – How to Define Function in R

This article represents code examples in relation with how to write function in R. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.

Following are the key points described later in this article:

  • Function Definition
  • Code Examples for Functions

 

How to Define Function

Function in R looks like following:

# Function definition
funcName <- function( a, b, c ) {
    return(v) # or simply v
}
# This is how a function is invoked
var1 <- funcName(x,y,x) 

In above code, funcName is the name of the function. a, b, c are parameters. v is return variable

Code Examples for Functions

In the examples below, following four functions are demonstrated:

  • Create an empty Data Frame
  • Add/Append a vector to the data frame
  • Search for a vector in the data frame
  • Print first n rows in the data frame
# Creates an empty Data Frame with two columns namely, Name and Age
# Return the newly created empty data frame with 0 row
createDF <- function() {
  df <- data.frame(name=character(), age=numeric(), stringsAsFactors=F)
  return(df)
}

# Add the vector, c, to the passed data frame, df
# Return the updated data frame
addToDF <- function( df, c) {
  df[nrow(df) + 1,] <- c
  return(df)
}

# Search the data frame for existence of values in vector cv
# Return true if found, else false
searchFromDF <- function( df, cv ) {
  found <- F
  for( i in 1:nrow(df) ) {
    if( df$name[i] == cv[1] && df$age[i] == cv[2] ) {
      found <- T
      break
    }
  }
  found
}

# Print first n rows of the dataframe
phead <- function(df, n) {
  for( i in 1:nrow(df)) {
    if( i < n+1) {
      cat(df[i,]$name,"\t",df[i,]$age,"\n")
    }
  }
}

Following is how the above functions would be invoked:

# Creates an empty data frame
df1 <- createDF()

# Add the vector to the the data frame
df1 <- addToDF(df1, c("Ajitesh", 38))
df1 <- addToDF(df1, c("Aiyana", 9))
df1 <- addToDF(df1, c("Anisha", 4))

# Prints True
searchFromDF(df1, c("Aiyana", 9))
# Prints False
searchFromDF(df1, c("Anisha", 41))

# Prints first 2 rows of the dataframe df1
phead(df1, 2)


 

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Recent Posts

Agentic Reasoning Design Patterns in AI: Examples

In recent years, artificial intelligence (AI) has evolved to include more sophisticated and capable agents,…

2 months ago

LLMs for Adaptive Learning & Personalized Education

Adaptive learning helps in tailoring learning experiences to fit the unique needs of each student.…

2 months ago

Sparse Mixture of Experts (MoE) Models: Examples

With the increasing demand for more powerful machine learning (ML) systems that can handle diverse…

3 months ago

Anxiety Disorder Detection & Machine Learning Techniques

Anxiety is a common mental health condition that affects millions of people around the world.…

3 months ago

Confounder Features & Machine Learning Models: Examples

In machine learning, confounder features or variables can significantly affect the accuracy and validity of…

3 months ago

Credit Card Fraud Detection & Machine Learning

Last updated: 26 Sept, 2024 Credit card fraud detection is a major concern for credit…

3 months ago