根据行名

时间:2017-07-07 08:10:30

标签: r

我需要根据行名将两个表合并为一个,每个表有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

5 个答案:

答案 0 :(得分: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),]

答案 1 :(得分:0)

rbind是您正在寻找的功能。

rbind(df1,df2) 

答案 2 :(得分: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

答案 3 :(得分: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

答案 4 :(得分:-1)

您可以使用rbind(table1, table2)