union of lists
Would this work?
lista <- list(1:3,4:7,2:10)
listb <- list(2:4,6:10,1:6)
lapply(1:3,function(x,lista,listb)
union(lista[[x]],listb[[x]]),lista=lista,listb=listb)
Or, alternatively, if the list has names:
lista <- list("s"=1:3,"u"=4:7,"n"=2:10,"d"=0,"a"=-1:1,"r"=3:12)
listb <- list("s"=2:4,"u"=6:10,"n"=1:6,"r"=2:4)
lapply(union(names(lista),names(listb)),
function(x,lista,listb)
union(lista[[x]],listb[[x]]),
lista=lista,listb=listb)
The latter option allows for lista and listb to have different lengths
as well.
Sundar
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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Sundar Dorai-Raj, Ph.D. Statistical Methods Engineer PDF Solutions, Inc. (972) 889-3085 x216 (214) 392-7619 cell sundard at pdf.com -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._