[R] union of lists
Peter Dalgaard BSA
p.dalgaard at biostat.ku.dk
Wed Apr 17 15:41:55 CEST 2002
Agustin Lobo <alobo at ija.csic.es> writes:
> I'm now using a for loop and applying
> union() to each pair of vectors, but is
> there a faster way avoiding the for ?
Not faster, I think. Maybe neater, using something like
lapply(seq(along=l1), function(i)union(l1[[i]],l2[[i]]))
or (with napply from an earlier post of mine)
napply(l1,l2,FUN=union)
where
napply <-
function(..., FUN) {
x <- list(...)
lens <- sapply(x,length)
len <- max(lens)
if (any(lens != len))
x <- lapply(x, rep, length=len)
tuples <- lapply(seq(length=len), function(i)lapply(x,"[", i))
lapply(tuples, function(t)eval(as.call(c(FUN,t))))
}
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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