с tidyverse
и использованием данных @Sotos:
d2 <- data.frame(a = c(4, 6, 8), b = c(letters[5:7]), stringsAsFactors = FALSE)
d1 <- data.frame(a = c(1, 2, 3), b = c(letters[1:3]), stringsAsFactors = FALSE)
library(tidyverse)
lst(d1,d2) %>%
map(rowid_to_column) %>% # add rowid to both tables
bind_rows %>% # bind
arrange(rowid) %>% # sort by id
select(-rowid) # clean up
# a b
# 1 1 a
# 2 4 e
# 3 2 b
# 4 6 f
# 5 3 c
# 6 8 g
А вот базовая альтернатива
do.call(rbind,
Map(rbind,
split(d1,seq(nrow(d1))),
split(d2,seq(nrow(d2))))
)
# a b
# 1.1 1 a
# 1.2 4 e
# 2.2 2 b
# 2.21 6 f
# 3.3 3 c
# 3.31 8 g