我想合并两个具有大致相同行数的数据帧.但合并需要以特殊方式完成.
假设两个数据帧是A和B.并且Ai,Bi表示i各个数据帧的第一行.
然后我想要一个包含以下行的新数据帧:
A1
B1
A2
B2
...
Run Code Online (Sandbox Code Playgroud)
这是一个玩具示例:
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])
Run Code Online (Sandbox Code Playgroud)
我想要一个新的数据帧C.
> C
col1 col2
1 A1 735
6 B1 735
2 A2 320
7 B2 320
...
Run Code Online (Sandbox Code Playgroud)
我如何在R中有效地做到这一点?请注意,两行之间没有空行,如此处所示.
把它们放在一起,然后诉诸它们:
ord <- order(c(1:nrow(A), 1:nrow(B)))
AB <- rbind(A,B)[ord,]
Run Code Online (Sandbox Code Playgroud)