returning multiple values
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.