[R] style question: returning multiple arguments - structure orlist

Thomas J Vogels tov at ece.cmu.edu
Sat Jul 28 16:36:54 CEST 2001


Hi,

you also have the option of "throwing out" the third result by setting it to
NULL (taking your LIST option)?

> f <- function() {
>   ...
>   list(x=x,y=y,z=z)
> }
> res <- f()
> names(jj)
[1] "x" "y" "z"
> res$z <- NULL
> names(res)
[1] "x" "y"

and then work with res (res$x and res$y)?

Regards,
  -tom

--
Email: vogels at cmu.edu
Phone: 412.855.2096


On Fri, 27 Jul 2001, Kevin Murphy wrote:

> I have a question about what is considered good style in R.
>
> I have a function  which returns several arguments, say [x,y,z]=f(),
> where sometimes I only care about the first few
> (so in Matlab, I can write e.g., [x,y] = f()).
>
> In R, there seem to be 2 ways to write this, both unsatisfying (to me):
>
> LIST
> f <- function() {
>   ...
>   list(x=x,y=y,z=z)
> }
> res <- f()
> x <- res$x; y <- res$y; z <- res$z
>
>
> STRUCTURE
> f <- function() {
>   ...
>   structure(x,y=y,z=z)
> }
> x <- f()
> y <- attr(x,"y"); z <- attr(x, "z")
>
> Which  is considered better style, or does it just depend on the
> problem?

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list