2014-03-26 195 views
0

我想要合并两个数据帧的行数大致相同。 但合并需要以特殊方式完成。合并R中的两个数据帧

假设两个数据帧是AB。和Ai,Bi分别表示各个数据帧的第012行。

然后我想用下面的行的新的数据帧:

A1 

B1 

A2 

B2 

... 

这里是一个玩具例如:

A <- data.frame(col1 = paste("A", 1:5, sep = ""), col2 = rivers[1:5]) 
B <- data.frame(col1 = paste("B", 1:6, sep = ""), col2 = rivers[1:6]) 

我希望有一个新数据帧C,使得

> C 

    col1 col2 

1 A1 735 

6 B1 735 

2 A2 320 

7 B2 320 
... 

我如何在R中有效地做到这一点?请注意,两行之间没有空行,如此处所示。

+3

尝试看看'merge'功能。请特别注意帮助文件的示例部分。 –

+0

我不确定你是否真的想要“合并”。 'A'和'B'中有相同的列吗? – Roland

+2

请发布两个_tiny_,具有代表性的玩具数据框。 – Henrik

回答

5

把它们放在一起,然后再打他们:

ord <- order(c(1:nrow(A), 1:nrow(B))) 
AB <- rbind(A,B)[ord,] 
+0

谢谢,它的工作原理。 – user62198

+1

你在第一行 –

+0

结束时错过了一个')'..感谢您指出。 – user62198