2014-10-02 21 views
0

我目前正在尋找一種方法將幾個表結合在一起,它們具有相同的結構和列名稱。例如,我想這三個表組合:在R中的`data.table`中,是否有快速的方法來組合表格?

>dt1 
user  number 
A  32 
A  33 
A  35 
A  23 
A  32 
A  44 
A  33 

>dt2 
user  number 
B  32 
B  33 
B  35 
B  23 
B  32 
B  44 
B  33 

>dt3 
user  number 
C  32 
C  33 
C  35 
C  23 
C  32 
C  44 
C  33 

,並得到:

>dt_combined 
user  number 
A  32 
A  33 
A  35 
A  23 
A  32 
A  44 
A  33 
B  32 
B  33 
B  35 
B  23 
B  32 
B  44 
B  33 
C  32 
C  33 
C  35 
C  23 
C  32 
C  44 
C  33 

我一直在嘗試使用要麼加入或合併,但像這樣簡單的問題是,我可以似乎無法找到data.table中快速簡便的解決方案。會有人有任何建議嗎?謝謝!

+1

你嘗試'rbind'? – 2014-10-02 12:30:09

回答

3

您已將此標記爲data.table,它具有方便的功能rbindlist

您可以結合mget使用它,就像這樣:

library(data.table) 
rbindlist(mget(ls(pattern = "dt\\d"))) 

mget步驟創建工作區中的匹配像dt1dt2命名模式的對象list,等等(dt + 「數字」)。 rbindlist將該列表作爲一個大data.table


> print(rbindlist(mget(ls(pattern = "dt\\d"))), topn = 3) 
    user number 
1: A  32 
2: A  33 
3: A  35 
---    
19: C  32 
20: C  44 
21: C  33 
相關問題