Вы можете создать новый столбец, представляющий rownames
в каждом фрейме данных, и отсортировать по этой переменной после rbind
, т.е.
ddf_all <- do.call(rbind, lapply(list(df1, df2, df3), function(i)transform(i, new = rownames(i))))
ddf_all[order(ddf_all$new),]
, что дает,
v1 v2 new
1 1 6 1
6 11 16 1
11 21 26 1
2 2 7 2
7 12 17 2
12 22 27 2
3 3 8 3
8 13 18 3
13 23 28 3
4 4 9 4
9 14 19 4
14 24 29 4
5 5 10 5
10 15 20 5
15 25 30 5
DATA:
df1 <- data.frame(v1 = c(1, 2, 3, 4, 5), V2 = c(6, 7, 8, 9, 10))
df2 <- data.frame(v1 = c(11, 12, 13, 14, 15), v2 = c(16, 17, 18, 19, 20))
df3 <- data.frame(v1 = c(21, 22, 23, 24, 25), v2 = c(26, 27, 28, 29, 30))