合并或离开加入R.

时间:2015-05-07 06:16:15

标签: r merge left-join

我有三个数据集具有相同的索引列(Key),StudentId,并且所有数据集具有相同的观察数,我重复相同数量的观察,但每个观察的列和不同的值不同。

has_many :portfolio_files, -> { order 'portfolio_files.order' }

我不知道为什么当我使用merge或left_merge来组合所有三个数据集时,最终数据集显示的行数多于它应该的人数?

    Dataset 1
    Id     Lab 
     1      33     
     .      .
     2334   98

    Dataset 2
    Id     Sports
     1      83     
     .      .
     2334   933

    Dataset 3
    Id     Lunch
     1      33     
     .      .
     2334   238

2 个答案:

答案 0 :(得分:1)

如果所有3个数据集的Id顺序相同,请使用:

res <- cbind(d1,d2,d3)

答案 1 :(得分:0)

没有可重复的示例很难说,但我最好的猜测是Id变量的值在数据集中略有不同。如果您正在使用dplyr(我假设您使用left_join),则可以改为使用inner_join(),它仅合并两个数据集中包含的行。 (但是,最终数据框的行数可能比用于合并的三个数据帧少。)