2017-01-03 40 views
0

所以我試圖合併兩個數據幀。據幀X看起來像:在R中進行復雜合併,並在y集中產生重複的匹配值生成問題

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

數據幀Ÿ樣子:

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個觀測值。

+3

'合併(X,Y)'對我的作品,一樣''dplyr's' left_join(X,Y)'和'data.table'的' y [x,on =「ParentID」]'給出的例子。我在這裏錯過了其他一些複雜程度嗎? – thelatemail

+0

只是一個簡單的簡單內連接'merge(x,y,by =「ParentID」)' –

+0

我正在處理與示例類似的數據庫。 x有5013個觀測值,而y有6432個觀測值。使用Joel和thelatemail描述的合併函數給出1627727個觀測值。 –

回答

0

我們可以使用matchbase 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 
+0

我認爲這是我正在尋找的。謝謝! –