# [R] union of lists

Timothy H. Keitt tklistaddr at keittlab.bio.sunysb.edu
Wed Apr 17 17:38:18 CEST 2002

```This would require either a binary form of lapply, or a version of
lapply that passed the current index to the function. Another solution
is to use an iterator closure:

f <- function(l1, l2) {
i <- 0
function(...) {
i <<- i + 1
union(l1[[i]], l2[[i]])
}
}

out <- lapply(lista1, f(lista1, lista2))

I assume here that the lists are of the same length and in the same
order.

T.

On Wed, 2002-04-17 at 09:24, Agustin Lobo wrote:
> Hi there,
>
> Given 2 lists of integer vectors, i.e.:
>
> > lista1
> \$"1"
> [1]  1 34  5
> \$"2"
> [1] 2 1
> \$"3"
> [1]  3 10 15
>
> > lista2
> \$"1"
> [1] 1 5
> \$"2"
> [1] 2 1
> \$"3"
> [1]  3 10 29
>
>
> I want to obtain the union of both, defined
> as the union of the vectors, that is
> lista.union[[1]] <- union(lista1[[1]],lista2[[1]]):
>
> > lista.union
> \$"1"
> [1]  1 34  5
> \$"2"
> [1] 2 1
> \$"3"
> [1]  3 10 15 29
>
> I'm now using a for loop and applying
> union() to each pair of vectors, but is
> there a faster way avoiding the for ?
>
> Thanks!
>
> Agus
>
>
> Dr. Agustin Lobo
> Instituto de Ciencias de la Tierra (CSIC)
> Lluis Sole Sabaris s/n
> 08028 Barcelona SPAIN
> tel 34 93409 5410
> fax 34 93411 0012
> alobo at ija.csic.es
>
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

```