2015-05-07 61 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个数据帧您用于合并)