Skip to content
Prev 18919 / 398498 Next

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: