快速组合表/数据帧而无需重复行的方法

时间:2016-07-05 06:08:23

标签: r dataframe merge

我很好奇如果您不想要重复的行,那么组合多个表/ data.frames的最佳/最快方法是什么。

我有数千万个条目的文件,但是,文件之间可能存在重复。

File A
IDNum         Name         Time
123           Light        12:30
234           Lind         12:30
123           Light        1:00

File B
IDNum         Name         Time
123           Light        1:00
123           Light        12:30
234           Lind         12:30

File C
IDNum        Name          Time
666          Ryuk          2:00
123          Light         NA

Desired Output
IDNum        Name          Time
123          Light         NA
123          Light         12:30
123          Light         1:00
234          Lind          12:30
666          Ryuk          2:00

我知道有很多方法可以使用各种连接/合并方法来实现这一点,但是有什么特定方法可以快速实现吗?我有数百个文件,有数百万行,有一些未知的,可能是大量的重复。

1 个答案:

答案 0 :(得分:0)

我们可以在将数据集放入rbindlist后使用list,并使用unique获取unique行。

 library(data.table)
 unique(rbindlist(mget(ls(pattern = "File\\s+[A-Z]+"))))[order(IDNum, Name)]
 #    IDNum  Name  Time
 #1:   123 Light 12:30
 #2:   123 Light  1:00
 #3:   123 Light    NA
 #4:   234  Lind 12:30
 #5:   666  Ryuk  2:00