У меня есть два data.frames в R, один из которых имеет два столбца, а другой - три столбца, и два столбца являются общими для двух кадров.Кадр имеет одинаковое количество строк.Пример кадров a и b приведен ниже.Что мне нужно сделать, это изменить порядок строк b, используя порядок строк в.Обратите внимание, что в кадре b любая уникальная комбинация первых двух столбцов, id и lob, будет связана с уникальным значением в столбце val.Столбцы id и lob, приведенные здесь, являются фактором и символом, но я бы хотел, чтобы решение работало для любого типа данных.
Обратите внимание, что если бы мы рассмотрели случай, когда frame a только что имел столбец id ив кадре b только что были столбцы id и val, я бы выполнил это с помощью чего-то вроде
b[match(a$id,b$id),]
К сожалению, я не уверен, как выполнить то же самое, когда мне нужно упорядочить по двум столбцам.
a:
id lob
1 1+ X
2 3 X
3 2 X
4 1 X
5 1 Y
6 1+ Y
7 1+ X
8 3 X
9 3 X
b:
id lob val
1 1+ X 1
2 1+ Y 9
3 1+ X 1
4 3 X 5
5 3 X 5
6 3 X 5
7 2 X 4
8 1 X 3
9 1 Y 2
Я хочу получить это:
id lob val
1 1+ X 1
2 3 X 5
3 2 X 4
4 1 X 3
5 1 Y 2
6 1+ Y 9
7 1+ X 1
8 3 X 5
9 3 X 5