2015-05-07 103 views
1

我有三個數據集具有相同的索引列(鍵),StudentId,並且都具有相同數量的觀察值,我重複相同數量的觀察值,但是對於每個觀察值不同的列和不同的值。合併或左連接R

Dataset 1 
    Id  Lab 
    1  33  
    .  . 
    2334 98 

    Dataset 2 
    Id  Sports 
    1  83  
    .  . 
    2334 933 

    Dataset 3 
    Id  Lunch 
    1  33  
    .  . 
    2334 238 

我不知道爲什麼,當我使用合併或left_merge所有三個數據集相結合的最終數據集顯示了更多的行數比它應該的人嗎?

Dataset Final 
    Id  Sports Lunch  Lab 
    1  33  83  33 
    .  . 
    3564 98  34  56 
+3

你能提供一個可重複的例子,即數據和代碼? –

+3

你也可以向我們展示你的合併代碼嗎? – jbest

+1

如果所有3個數據集的「Id」順序相同,只需使用'cbind(d1,d2,d3)'。 – zx8754

回答

1

如果Id的順序是相同的所有3個數據集,只需使用:

res <- cbind(d1,d2,d3) 
0

很難說沒有一個重複的例子,但我最好的猜測是,你Id變量的值在你的數據集略有不同。如果您正在使用dplyr(我假設您使用left_join),則可以使用inner_join(),它僅合併中包含的行,這兩個數據集均爲。 (然而,這可能是你最後的數據幀將有更少的行比你的3個數據幀您用於合併)