我想知道如何将两个包含向量的列表绑定到一个数据帧中。例如
a<-list(c(1,2,3,4,5), c(2,3,4,5,6))
b<-list(c(3,4,5,6,7), c(4,5,6,7,8))
如何从两个列表中制作数据框,如下所示:
1 2 3 4 5
3 4 5 6 7
2 3 4 5 6
4 5 6 7 8
因此,我需要获取每个列表的第一个元素,然后重新绑定它们。然后使用每个列表的第二个元素,然后重新查找到前一个数据帧。我知道我可以使用for循环,但是有更好,更快的方法吗?
@DiscoSuperfly答案的一种变体,适用于长度不均匀的对象,例如:
a <- list(c(1,2,3,4,5), c(2,3,4,5,6), c(1,1,1,1,1))
b <- list(c(3,4,5,6,7), c(4,5,6,7,8))
一个答案:
L <- list(a,b)
L <- lapply(L, `length<-`, max(lengths(L)))
do.call(rbind, do.call(Map, c(rbind, L)))
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 2 3 4 5
#[2,] 3 4 5 6 7
#[3,] 2 3 4 5 6
#[4,] 4 5 6 7 8
#[5,] 1 1 1 1 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句