Слияние фреймов данных с использованием таблицы соответствия с использованием R
Я хотел бы написать функцию, которая объединяет два кадра данных (mydf1 и mydf2) в соответствии с таблицей соответствия (mykeys). Рассмотрим следующий пример:
mydf1=data.frame(id1=1:5,myvar1=letters[1:5])
mydf2=data.frame(id2=LETTERS[1:5],myvar2=letters[6:10])
mykeys=data.frame(id1=1:3,id2=LETTERS[1:3])
Результат должен быть
# id1 id2 myvar1 myvar2
# 1 A a f
# 2 B b g
# 3 C c h
Любая идея?
1 ответ
Решение
Мы могли бы использовать merge
после размещения наборов данных в list
, Изменено на основе комментариев из @CathG и редактирования в наборе данных OP.
Reduce(merge, list(mykeys, mydf1, mydf2))