[R] list assignment syntax?
ivo.welch at gmail.com
Sat Mar 31 03:26:29 CEST 2012
thanks, everyone. I should have been clearer (as always). I used the
numbers as an example only. I am aware that I can put numbers into
vectors and get nice R syntax. my problem is that I usually want to
return multiple and/or mixed objects, such as multiple data frames. I
should have given as an example something like
f <- function(a,b) list( data.frame(a+rnorm(20), b), loess( a ~ b) )
weidong---yes, nice syntax, but I don't want to invoke f() twice.
peter---I don't think your unlist syntax works. I tried it.
gabor---#1-#3 work, but aren't what I really want. #4 is exactly what
I wanted. can list be added into the standard core R as a feature?
it would seem like a natural part of the syntax for functions
returning multiple values.
Ivo Welch (ivo.welch at gmail.com)
On Fri, Mar 30, 2012 at 5:08 PM, Justin Haynes <jtor14 at gmail.com> wrote:
> You can also take a look at
> which has some additional solutions.
> On Fri, Mar 30, 2012 at 4:49 PM, Peter Ehlers <ehlers at ucalgary.ca> wrote:
>> On 2012-03-30 15:40, ivo welch wrote:
>>> Dear R wizards: is there a clean way to assign to elements in a list?
>>> what I would like to do, in pseudo R+perl notation is
>>> f<- function(a,b) list(a+b,a-b)
>>> (c,d)<- f(1,2)
>>> and have c be assigned 1+2 and d be assigned 1-2. right now, I use the
>>> x<- f(1,2
>>> c<- x[]
>>> d<- x[]
>>> which seems awful. is there a nicer syntax?
>>> regards, /iaw
>>> Ivo Welch (ivo.welch at brown.edu, ivo.welch at gmail.com)
>> I must be missing something. Why not just assign to a
>> vector instead of a list?
>> f<- function(a,b) c(a+b,a-b)
>> If it's imperative that f return a list, then you
>> could use
>> (c, d) <- unlist(f(a, b))
>> to get vector (c, d).
>> Peter Ehlers
>> R-help at r-project.org mailing list
>> 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