Слияние фреймов данных с использованием таблицы соответствия с использованием 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))
Другие вопросы по тегам