我想合并两个数据帧,行数大致相同。 但合并需要以特殊方式完成。
假设两个数据框是A
和B
。 Ai
,Bi
代表各个数据框的i
行。
然后我想要一个包含以下行的新数据框:
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中有效地做到这一点?请注意,这两行之间没有空行。
答案 0 :(得分:5)
把它们放在一起,然后求助它们:
ord <- order(c(1:nrow(A), 1:nrow(B)))
AB <- rbind(A,B)[ord,]