将两个data.frame与不同行数进行比较,以返回两个data.frame中包含的相同值

将两个data.frame与不同行数进行比较,以返回两个data.frame中包含的相同值,r,R,我有两个data.frame,行数不同,列数相同,如下所示: 数据结构1: ID Name Target mean conc SW2012 NRT N 12 1 SW2019 NRT N 43 10 SW2024 NRT A 23 10 SW2041 NRT N 10 1 SW2045 NRT N 3 1 数据结构2: ID Name Target mean conc SW2012 BTR N 12 1 SW20

我有两个data.frame,行数不同,列数相同,如下所示:

数据结构1:

ID  Name    Target  mean    conc
SW2012  NRT N   12  1
SW2019  NRT N   43  10
SW2024  NRT A   23  10
SW2041  NRT N   10  1
SW2045  NRT N   3   1
数据结构2:

ID  Name    Target  mean    conc
SW2012  BTR N   12  1
SW2019  BTR A   42  1
SW2022  BTR A   11  10
SW2045  BTR A   12  10
现在,我想找到相同的ID,提取并合并到一个新的数据帧中。我一直在尝试使用合并函数,但它给了我错误的答案。如果有人能帮助我,我将不胜感激。所需输出为:

ID  Name    Target  mean conc   Name    Target  mean    conc
SW2012  BTR N   12  1           NRT     N   12  1
SW2019  BTR A   42  1           NRT     N   43  10
SW2045  BTR A   12  10          NRT     N   3   1

merge(data.frame2,data.frame1,by='ID')
有什么问题?它应该给我相同的ID,但它们超过了我的行数。我尝试了
merge
命令,如上面的注释所示,它为您的示例数据集生成了正确的答案。我可以解释,例如,如果我的data frame有240行,data.frame2有230行。这个函数给我284行。我不知道为什么?!!!每个数据帧中的ID是否唯一?