[R] concatenating lists

Jan Goebel
Thu, 15 Mar 2001 11:35:18 -0000

Hello Faheem,

On Wed, 14 Mar 2001, Faheem Mitha wrote:

>
> Dear People,
>
> I have been trying to perform concatenation operations on lists without
> success. Consider the following example.
>
> > x <- runif(2)
> > y <- runif(2)
> > z <- runif(2)
> > xy <- list(x,y)
> > xyz <- list(x,y,z)
>
> I want to have a function foo such that foo(xy,z) is the same as xyz. This
> appears not to be as easy as I thought, though there must be a way.

Maybe this can give you a starting point.
I guess their are more elegant ways to do this ...

> clist  <- function (liste, x) {
+
+   tmp <- paste("list(",
+
paste(paste("liste[[",1:length(liste),"]]",sep=""),
+                      collapse=","),",x)",sep="")
+   eval(parse(text=tmp))
+ }
>
> clist(xy,z)
[[1]]
[1] 0.6855152 0.5541156

[[2]]
[1] 0.19300487 0.07686829

[[3]]
[1] 0.4915225 0.9025518

best

jan
--
+-----------------------------------
 Jan Goebel (mailto:jgoebel at diw.de)

 DIW Berlin
 Longitudinal Data and Microanalysis
 K?nigin-Luise-Str. 5
 D-14195 Berlin -- Germany --
 phone: 49 30 89789-377
+-----------------------------------