使用 R 使用对应 table 合并数据帧
Merging dataframes using a correspondence table using R
我想编写一个函数,根据 table (mykeys) 的对应关系合并两个数据帧(mydf1 和 mydf2)。考虑以下示例:
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
有什么想法吗?
我们可以在将数据集放入 list
后使用 merge
。根据@CathG 的评论和 OP 数据集中的编辑进行修改。
Reduce(merge, list(mykeys, mydf1, mydf2))
我想编写一个函数,根据 table (mykeys) 的对应关系合并两个数据帧(mydf1 和 mydf2)。考虑以下示例:
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
有什么想法吗?
我们可以在将数据集放入 list
后使用 merge
。根据@CathG 的评论和 OP 数据集中的编辑进行修改。
Reduce(merge, list(mykeys, mydf1, mydf2))