将两个data.frame与不同行数进行比较,以返回两个data.frame中包含的相同值
我有两个data.frame,行数不同,列数相同,如下所示: 数据结构1:将两个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
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是否唯一?