Hi,

On Jul 8, 2009, at 8:34 PM, Jason Rupert wrote:


Maybe there is a great website out there or white paper that discusses this but again my Google skills (or lack there of) let me down.

I would like to know the best way to export several doubles from a function, where the doubles are not an array.

Here is a contrived function similar to my needs:

multipleoutput<-function(x)
{
        squared<-x^2
        cubed<-x^3
        exponentioal<-exp(x)
        factorialVal<-factorial(x)
        
}

There already have been some suggestions on how to do this the "normal" R way, so let's go ahead and use the "return a list" method (I think it's better than using the `c(squared=x^2, cubed=...)`).

Here's an interesting way to receive the assignments. Check out this function:

http://code.google.com/p/miscell/source/browse/rvalues/rvalues.r

With that ':=' function loaded, you could do this:

============
multipleout <- function(x) {
  list(squared=x^2, cubed=x^3, exponential=exp(x),
       factorial=factorial(x))
}

c(sq,cu,ex,fa) := multipleout(1:3)
show(sq)
[1] 1 4 9

show(cu)
[1]  1  8 27

show(ex)
[1]  2.718282  7.389056 20.085537

show(fa)
[1] 1 2 6

=============

[I can't remember how I stumbled onto this code for the ':=' function (I think it was from a thread on the BioC list about package updates)]

I'm not saying that you *should* do it this way, but it's kind of cool that you could ...

-steve

--
Steve Lianoglou
Graduate Student: Physiology, Biophysics and Systems Biology
Weill Medical College of Cornell University

Contact Info: http://cbio.mskcc.org/~lianos

______________________________________________
R-help@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.

Reply via email to