2013-07-25 23 views
7

Was aus eine einfache und schnelle Art und Weise wäre zu bekommen:Kombinieren Sie Listen in R

x <- list(a1=2, b1=c(1,2), c1=1:3) 
y <- list(a2=5, b2=c(2,5), c2=2:4) 

zu

list(list(x$a1, y$a2), list(x$b1, y$b2), list(x$c1, y$c2)) 

?

Oder allgemein:

Wenn Liste x und y gleiche Länge haben und ihre Elemente auch in der Länge entsprechen, wie kann es zu einer einzigen Liste kombiniert werden, wie oben gezeigt?

Antwort

8

Eine einfache Möglichkeit wäre mapply zu benutzen, wie folgt: wenn

mapply(x, y, FUN=list, SIMPLIFY=FALSE) 

Nicht sicher, ob es das schnellste ist. Sie können x und y durch unname(x) und unname(y) ersetzen, wenn Sie keine Namen in Ihrer Ausgabe möchten.

+0

danke. das ist, was ich gesucht habe. – Florian