假设我有两个列表:
xx <- as.list(1:3)
yy <- as.list(LETTERS[1:3])
如何组合这两者,使新列表的每个元素都是每个组件列表的相应元素的列表。所以如果我把上面两个结合起来,我应该得到:
> combined_list
[[1]]
[[1]][[1]]
[1] 1
[[1]][[2]]
[1] "a"
[[2]]
[[2]][[1]]
[1] 2
[[2]][[2]]
[1] "b"
[[3]]
[[3]][[1]]
[1] 3
[[3]][[2]]
[1] "c"
如果你可以建议一个解决方案,我想将其扩展到3个或更多。
答案 0 :(得分:6)
这应该可以解决问题。很好,mapply()
将采用任意数量的列表作为参数。
xx <- as.list(1:3)
yy <- as.list(LETTERS[1:3])
zz <- rnorm(3)
mapply(list, xx, yy, zz, SIMPLIFY=FALSE)