[R] How to return multiple values in a function

Hans-Joerg Bibiko bibiko at eva.mpg.de
Mon Jun 23 10:33:32 CEST 2008


On 23 Jun 2008, at 10:23, Gundala Viswanath wrote:
> I apologize for this newbie question. But I can't seem
> to find in R online manual.
>
> 1. How can I return two values in a function?
> 2. How can I capture the values again of this function?
>
> myfunc <- function (array) {
>
>   # do something with array
>   # get something assign to "foo" and "bar"
>   print(foo)
>   print(bar)
>
>  # how can I return "foo" and "bar" ?
> }
>
> # Is this the way to capture it?
>
> (nfoo,nbar) <- myfunc(some_array)
>

One way would be :

myfunc <- function (array) {

   # do something with array
   # get something assign to "foo" and "bar"
   result <- c(foo, bar)
   return(result)
  # how can I return "foo" and "bar" ?
}

res <- myfunc(some_array)
res[1]
[1] "foo.stuff"
res[2]
[1] "bar.stuff"


--Hans



More information about the R-help mailing list