[R] Outputing dataframe or vector from within a user defined function

Uwe Ligges ligges at statistik.uni-dortmund.de
Tue Dec 20 09:31:35 CET 2005

Andrew Cox wrote:

> Hi,
> I have written a user defined function that carries
> out a monte carlo simulation and outputs various
> stats. I would like to access and store the simulation
> data (a two column local variable) from outside the
> function I have written. How can I output the data
> from the function as new variable(not simply print
> it), accessible outside
> the function? 
> I am probably going to find that this is really
> simple, yet I have not been able to find the answer in
> (usual places, manuals, 2 x Books and mailing lists)

It's certainly in all books about R that I know as well as in the 
manuals. And you are using it all the time for other functions: assignments.

Simply speaking, the last value of a function is returned. You can also 
explicitly call return(). You have to assign the value to a new variable 
when you call the function. Example:

foo <- function(){
   x <- rnorm(10)
   y <- x*5
   return(list(x=x, y=y))

result <- foo()

Uwe Ligges

> Many Thanks 
> Andy Cox
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

More information about the R-help mailing list