繁体   English   中英

合并或左连接R

[英]merge or left join R

我有三个数据集,它们具有相同的索引列(键),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

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

res <- cbind(d1,d2,d3)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM