[R] Passing lists between functions

arun smartpink111 at yahoo.com
Mon Nov 26 02:44:13 CET 2012


Hi,
If the end result you want is the sum of those elements, will this work for you?

 sum(unlist(lst))
#[1] 15
#or
sum(do.call(c,lst)) #in this case
#[1] 15
A.K.



----- Original Message -----
From: Ally <a.rushworth at stats.gla.ac.uk>
To: r-help at r-project.org
Cc: 
Sent: Sunday, November 25, 2012 8:24 PM
Subject: [R] Passing lists between functions

I'd like to pass a list object created by one function as an argument of
another function.  once inside the second function, I'd like to break the
list up to it's individual elements, each then identifiable by the 'names'
of the list.  

The list looks something like

lst<-list(a=1, b=2, df=5, g=7)

then inside the function I've been writing a sequence of statements that
extract the objects within lst like

do_something<-function(L){
a<-lst$a
b<-lst$b
df<-lst$df
g<-lst$g
a+b+df+g
}
do_something(lst)

My question is, is it possible to avoid the above sequence of statements,
and achieve the same thing with a single line of code?  Perhaps this would
be bad programming practise, as you can't 'see' where objects in the
function are coming from?

Thanks,

alastair







--
View this message in context: http://r.789695.n4.nabble.com/Passing-lists-between-functions-tp4650792.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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