R中的复杂合并与y集中的重复匹配值产生问题

时间:2017-01-03 05:17:08

标签: r merge

所以我试图合并两个数据帧。 Dataframe x看起来像:

Name     ParentID
Steve    1
Kevin    1
Stacy    1
Paula    4
Evan     7

Dataframe y看起来像:

ParentID   OtherStuff
1          things
2          stuff
3          item
4          ideas
5          short
6          help
7          me

我想要的数据框如下:

Name     ParentID   OtherStuff
Steve    1          things
Kevin    1          things
Stacy    1          things
Paula    4          ideas
Evan     7          me

使用左合并给我提供了比我想要的更多的观察,有许多重复。任何想法如何合并的东西,y在适当的地方重复匹配x?

我正在使用与示例类似的数据库设置。 x有5013个观测值,而y有6432个。使用Joel和thelatemail描述的合并函数给出了1627727个观测值。

1 个答案:

答案 0 :(得分:1)

我们可以使用match

中的base R
df1$OtherStuff <- with(df1, df2$OtherStuff[match(ParentID, df2$ParentID)])
df1
#   Name ParentID OtherStuff
#1 Steve        1     things
#2 Kevin        1     things
#3 Stacy        1     things
#4 Paula        4      ideas
#5  Evan        7         me