[R] list assignment syntax?
    Peter Ehlers 
    ehlers at ucalgary.ca
       
    Sat Mar 31 01:49:56 CEST 2012
    
    
  
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 clunky
>
>    x<- f(1,2)
>    c<- x[[1]]
>    d<- x[[2]]
>    rm(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
    
    
More information about the R-help
mailing list