如何将列表的所有元素组合到R中的数据框中

时间:2016-04-21 04:05:27

标签: r list dataframe

以下是包含许多元素的列表。每个元素都是一个数据帧。我想将所有数据帧组合到数据帧中。

[[1]]
     X1  X2  n
[1,] 13 156 12
[2,] 13 156 13
[3,] 13 156 14
[4,] 13 156 15

[[2]]
     X1  X2  n
[1,] 94 187 14
[2,] 94 187 15
[3,] 94 187 16

[[3]]
     X1  X2  n
[1,] 66 297 41
[2,] 66 297 42
[3,] 66 297 43
[4,] 66 297 44
[5,] 66 297 45
[6,] 66 297 46
[7,] 66 297 47
[8,] 66 297 48
     ...
     ...

如何将list的所有元素组合到一个数据帧,如下所示:

     X1  X2  n
[1,] 13 156 12
[2,] 13 156 13
[3,] 13 156 14
[4,] 13 156 15
[1,] 94 187 14
[2,] 94 187 15
[3,] 94 187 16
[1,] 66 297 41
[2,] 66 297 42
[3,] 66 297 43
[4,] 66 297 44
[5,] 66 297 45
[6,] 66 297 46
[7,] 66 297 47
[8,] 66 297 48

2 个答案:

答案 0 :(得分:2)

您也可以使用函数do.call在基数R中执行此操作。以下是示例代码。

dataList <- list()
dataList[[1]] <-  data.frame(x1=rnorm(10), x2 = rnorm(10), n=1:10)
dataList[[2]] <-  data.frame(x1=rnorm(10), x2 = rnorm(10), n=11:20)
dataList[[3]] <-  data.frame(x1=rnorm(10), x2 = rnorm(10), n=21:30)

dataSet <- do.call(rbind, dataList)

答案 1 :(得分:1)

您可以轻松地将data.frames与

组合在一起
do.call(rbind, mylist)