2013-07-25 20 views
7

Jaki byłby łatwy i szybki sposób, aby uzyskać od:Łączenie list w R

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

do

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

?

albo ogólnie:

Jeżeli lista X i Y mają tę samą długość, a ich elementy również odpowiadać długości, jak to może być połączone do jednego wykazu, jak pokazano powyżej?

Odpowiedz

8

Łatwym sposobem byłoby wykorzystanie mapply następująco:

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

Nie jestem pewien, czy jest to najszybszy chociaż. Możesz zastąpić x i y z unname(x) i unname(y), jeśli nie chcesz, aby nazwy w wynikach.

+0

dzięki. tego właśnie szukałem. – Florian