[R] returning multiple values
R. Michael Weylandt
michael.weylandt at gmail.com
Mon Jul 9 20:12:12 CEST 2012
Hi,
No, you won't be able to simply call "a" and have that work.
R returns these in a single object with components (elements) named a,b,c,d
Here's a concrete example:
func <- function(x, y) return(list(a = x+1, b = y + 2))
out <- func(3, 5)
out[["a"]] # or out$a
out[["b"]] # or out$b
give the desired results.
If you just do
func(3,5)
the value will be returned, but since it's not bound to a variable
name, simply thrown away.
Remember -- R is (almost) always pass-by-value, not by reference, and
has pretty strong scoping.
Best,
Michael
On Mon, Jul 9, 2012 at 1:02 PM, PRAGYA SUR <pragya1386 at gmail.com> wrote:
> I am running a program which has an output containing four vectors named
> meanfevs, meanfevns, pfevs, pfevns. I wish to return all four and be able
> to access them later. I used the command
> return(list(a=meanfevs,b=meanfevns,c=pfevs,d=pfevns))
> it did give me the ouput. However the values did not get stored in the
> vectors a,b,c and d and i am not being able to access them later by just
> calling a/b/c/d. Please help.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list