将列表解压缩到data.frame / data.table中

时间:2016-02-16 16:36:00

标签: r list

我有data.frames的列表。每个都有相同的两列。我需要将其拆分为单个data.frame。我尝试了多种方法(包括unlist,转换为矩阵等等 - 包括首先出现的一些SO搜索),但我无法使其工作(unlist命令只生成一堆列,而我需要两列和一堆行。)

我最后在这个实例中编写了一个for循环,但由于众所周知的原因,这是一个有问题的方法。

以下是数据和我目前的方法:

> head(dotz, 2)
[[1]]
          X1       X2
1  -83.06974 42.32464
2  -83.06155 42.32168
3  -83.06034 42.32120
4  -83.05915 42.32060
5  -83.05804 42.31984
6  -83.05711 42.31904
7  -83.05658 42.31851
8  -83.05592 42.31778
9  -83.05525 42.31695
10 -83.05458 42.31591
11 -83.05212 42.31150
12 -83.05171 42.31074
13 -83.05006 42.30802

[[2]]
         X1       X2
1 -83.16668 42.31032
2 -83.16782 42.30987

> length(dotz)
[1] 3674

我的方法:

buff <- dotz[[1]]

for (i in 2:length(dotz)) {
  buff <- merge(buff, dotz[[i]], all = TRUE)
}

执行相同但更有效的命令是什么?谢谢。 (我知道,我可以预先分配数组大小。在这种情况下,它并不重要,我正在寻找一种不涉及for循环的方法。)< / p>

0 个答案:

没有答案