Rbind corresponding elements in two or more lists in R

喜你入骨 提交于 2019-12-02 10:47:13

Assuming length of a and b is the same we can do

lapply(seq_along(a), function(x) rbind(a[[x]], b[[x]]))

#[[1]]
#  timeseries t
#1          1 1
#2          7 3
#3         59 7
#4          2 2
#5          3 4
#6          5 6

#[[2]]
#  timeseries  t
#1          1  1
#2          7  3
#3         59  7
#4         60 20
#5         70 30
#6         80 40

seq_along generates sequence from 1 to length of the object. If you do

seq_along(a) #you would get output as
#[1] 1 2

as length(a) is 2. So we rbind the dataframe one by one rbind(a[[1]], b[[1]]) first, then rbind(a[[2]], b[[2]]) and so on. lapply ensures the final output is a list.

Just try the map2 function :

purrr::map2(a,b,rbind) -> d
identical(c,d)
# [1] TRUE
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!