2017-07-07 96 views
-2

我需要將兩個表合併成一個基於行名稱的兩個表,每個表有172行和172列例如我的數據看合併基於行名稱

#table 1 
A B C 
1 2 3 
2 3 4 
5 6 7 

#table 2 
A B C 
1 3 8 
2 4 6 
5 4 2 

我想我的輸出這樣的

A B C 
1 2 3 
1 3 8 
2 3 4 
2 4 6 
5 6 7 
5 4 2 
+0

嘗試'mapply(rbind,table1,table2)' – Sotos

+0

謝謝你。它工作正常:) –

回答

0

您可以使用mapply

mapply(rbind, table1, table2) 

#  A B C 
#[1,] 1 2 3 
#[2,] 1 3 8 
#[3,] 2 3 4 
#[4,] 2 4 6 
#[5,] 5 6 7 
#[6,] 5 4 2 
+0

現在我們可以做同樣的列。我使用了mapply(cbind,table1,table2),但它沒有添加到相鄰的列 –

+0

我不確定你的意思 – Sotos

0

rbind是您正在尋找的功能。

rbind(df1,df2) 
0

我們可以使用rbindorder

rbind(table1, table2)[order(c(seq_len(nrow(table1)), seq_len(nrow(table2)))),] 
# A B C 
#1 1 2 3 
#4 1 3 8 
#2 2 3 4 
#5 2 4 6 
#3 5 6 7 
#6 5 4 2 
-1

您可以使用rbind(table1, table2)

1
mapply(rbind, table1, table2) 

此功能適用於您的情況。但是,如果你有表是這樣的:

A B C 
1 1 2 3 
2 2 3 4 
3 5 6 7 

    A B C 
1 5 4 2 
2 2 4 6 
3 1 3 8 

功能上面會導致:

 A B C 
[1,] 1 2 3 
[2,] 5 4 2 
[3,] 2 3 4 
[4,] 2 4 6 
[5,] 5 6 7 
[6,] 1 3 8 

所以,如果你想獲得你想要的,你可以使用這個功能的結果:

rbind(table1,table2)[order(rbind(table1,table2)$A),]