将数据框的行从一个列表绑定到另一列表中的数据框

时间:2019-03-23 16:59:25

标签: r list

给出2个长度相同,列名称相同的数据帧列表,将一个列表中每个数据帧的行绑定到另一列表中每个数据帧的正确方法是什么?

一些数据:

list1 <- data.frame("x" = c(1,2), "z" = c(2,3), "y" = c(3,4))
list2 <- data.frame("x" =c(1,2), "z" = c(2,3), "y" = c(3,4))
Mylist1 <- list(list1, list2)   

list1 <- data.frame("x" = c(5,6,7), "z" = c(7,8,9), "y" = c(10,11,12))
list2 <- data.frame("x" = c(25,26,27), "z" = c(27,28,29), "y" = c(210,211,212))
Mylist2 <- list(list1, list2)

当前数据:

> Mylist1
[[1]]
  x z y
 1 2 3
 2 3 4

[[2]]
  x z y
 1 2 3
 2 3 4

> Mylist2
[[1]]
  x z  y
 5 7 10
 6 8 11
 7 9 12

[[2]]
   x  z   y
 25 27 210
 26 28 211
 27 29 212

所需的输出:

> MyNewList
    [[1]]
      x z y
      1 2 3
      2 3 4
      5 7 10
      6 8 11
      7 9 12
    [[2]]
      x z y
      1 2 3
      2 3 4
      25 27 210
      26 28 211
      27 29 212

1 个答案:

答案 0 :(得分:2)

我们可以在此处使用Maprbind这两个列表

Map(rbind, Mylist1, Mylist2)


#[[1]]
#  x z  y
#1 1 2  3
#2 2 3  4
#3 5 7 10
#4 6 8 11
#5 7 9 12

#[[2]]
#   x  z   y
#1  1  2   3
#2  2  3   4
#3 25 27 210
#4 26 28 211
#5 27 29 212

这也类似于

mapply(rbind, Mylist1, Mylist2, SIMPLIFY = FALSE)

purrr::map2(Mylist1, Mylist2, rbind)