[R] Pass vector as multiple parameters (as in python f(*x))
Jeff Newmiller
jdnewmil at dcn.davis.CA.us
Sat Jan 26 01:13:03 CET 2013
Your whole premise that the arguments of a function should be mappable to elements of a vector seems contrary to good R programming practice. Consider changing the called function's handling of arguments instead to accept the vector of data directly if a vector makes sense, or to a list if the arguments have a variety of types.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Carlos Pita <carlosjosepita at gmail.com> wrote:
>Hi,
>
>I want to know if it's possible to pass a vector v=c(x,y,...) to a
>function f(x,y,...) so that each vector element corresponds to a
>formal argument of the function. For python programmers: f(*v).
>
>Specifically, what I'm trying to achieve is: given a list of
>coordinates l=list(c(x1,y1,z1), c(x2,y2,z2),...) I would like to
>obtain the corresponding elements in some array A (3-dim in this
>case). That is: A[x1,y1,z1], A[x2,y2,z2],....
>
>One way would be to transform l=list(c(x1,y1,z1), c(x2,y2,z2),...) to
>l2=list(c(x1,x2,...),c(y1,y2,...),c(z1,z2,...)) and then (if this is
>possible at all) execute the equivalent to A[*l2].
>
>Another way would be to lapply function(xyz) { A[*xyz] } to each
>coordinate vector in l. In any case I need the f(*v) equivalent.
>
>Please take into account that, despite the 3-dim example, I need to
>implement the above to accept n-dim vectors for arbitrary n, so
>something like x<-xyz[1], y<-xyz[2], z<-xyz[3] wouldn't fit the bill.
>
>Any other suggested solution would be appreciated.
>
>Best regards
>--
>Carlos
>
>______________________________________________
>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