合并或左连接 R

merge or left join R

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

    Dataset 1
    Id     Lab 
     1      33     
     .      .
     2334   98

    Dataset 2
    Id     Sports
     1      83     
     .      .
     2334   933

    Dataset 3
    Id     Lunch
     1      33     
     .      .
     2334   238

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

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

如果没有可重现的例子很难判断,但我最好的猜测是你的 Id 变量的值在你的数据集中略有不同。如果您正在使用 dplyr(假设您使用的是 left_join),您可能会改用 inner_join(),它仅合并 both 中包含的行数据集。 (但是,您的最终数据框的行数可能会少于您用于合并的三个数据框的行数。)

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

res <- cbind(d1,d2,d3)