Я хочу объединить два фрейма данных, сохраняя исходный порядок строк одного из них (df.2
в примере ниже).
Вот некоторые примеры данных (все значения из столбца class
определены в обоих фреймах данных):
df.1 <- data.frame(class = c(1, 2, 3), prob = c(0.5, 0.7, 0.3))
df.2 <- data.frame(object = c('A', 'B', 'D', 'F', 'C'), class = c(2, 1, 2, 3, 1))
Если я сделаю:
merge(df.2, df.1)
Выход:
class object prob
1 1 B 0.5
2 1 C 0.5
3 2 A 0.7
4 2 D 0.7
5 3 F 0.3
Если я добавлю sort = FALSE
:
merge(df.2, df.1, sort = F)
Результат:
class object prob
1 2 A 0.7
2 2 D 0.7
3 1 B 0.5
4 1 C 0.5
5 3 F 0.3
Но то, что я хотел бы, это:
class object prob
1 2 A 0.7
2 1 B 0.5
3 2 D 0.7
4 3 F 0.3
5 1 C 0.5