2016-07-05 27 views
-1

我很好奇最好/最快的方式来结合多个表/ 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

[必读](http://stackoverflow.com/a/24376207/4497050)对于列表一个data.frame,'do.call(rbind,...)','dplyr: :bind_rows'或'data.table :: rbindlist'。 – alistaire

+0

rbindlist已经显示为解决方案。所以,你可以使用它。 – akrun

回答

0

在将数据集放置在list中后,我们可以使用rbindlist并且使用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 
相关问题