[R] Return a list

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Fri Sep 26 21:39:57 CEST 2008


Mike Prager wrote:
> "Stefan Fritsch" <fritsch at bips.uni-bremen.de> wrote:
>
>   
>> I have several output variables which I give back with the list command.
>>
>> test <- function	{return(list(a,b,c,d,e,f,g,...))}
>>
>> After the usage of the function I want to assign the variables to the output variables.
>>
>> result <- test()
>>
>> a <- result$a
>> b <- result$b
>> c <- result$c
>> d <- result$d
>> ...
>>
>> is there a more elegant way to assign these variables, without writing them all down?
>>
>>     

arguably ugly and risky, but simple:

for (name in names(result)) assign(name, result[[name]])

(note, for this to work you actually need to name the components of the
returned list: return(list(a=a,b=b,...)))

vQ



More information about the R-help mailing list