fastread homefastrread library fastread menu

R Programming : Return Value from Function

Tutorial by:Maria Ghoste      Date: 2016-06-10 00:34:23

❰ Previous Next ❱

Many a times, we will require our functions to do some processing and return back the result. This is accomplished with the return() function in R.

Syntax of return()

return(expression)

The value returned from a function can be any valid object.

Example of return()

Let us look at an example which will return whether a given number is positive, negative or zero.

check <- function(x) {
   if (x>0) {
       result <- "Positive"
   }
   else if (x<0) {
       result <- "Negative"
   }
   else {
       result <- "Zero"
   }
   return(result)
}

Here, are some sample runs.

> check(1)
[1] "Positive"

> check(-10)
[1] "Negative"

> check(0)
[1] "Zero"

Functions without return()

If there are no explicit returns from a function, the value of the last evaluated expression is returned automatically in R. For example, the following is equivalent to the above function.

check <- function(x) {
   if (x>0) {
       result <- "Positive"
   }
   else if (x<0) {
       result <- "Negative"
   }
   else {
       result <- "Zero"
   }
   result
}

 

 
 

We generally use explicit return() functions to return a value immediately from a function. If it is not the last statement of the function, it will prematurely end the function bringing the control to the place from which it was called.

check <- function(x) {
   if (x>0) {
       return("Positive")
   }
   else if (x<0) {
       return("Negative")
   }
   else {
       return("Zero")
   }
}

In the above example, if x>0, the function immediately returns "Positive" without evaluating rest of the body.

Multiple Returns

The return() function can return only a single object. If we want to return multiple values in R, we can use a list (or other objects) and return it. Following is an example.

multi_return <- function() {
   my_list <- list("color" = "red", "size" = 20, "shape" = "round")
   return(my_list) 
}

Here, we create a list my_list with multiple elements and return this single list.

> a <- multi_return()
> a$color
[1] "red"

> a$size
[1] 20

> a$shape
[1] "round"

❰ Previous Next ❱


R Programming

Submit Your Thought, Tutorial, Articls etc.

Submit Your Information India's Number one online promotion website