[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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list