在R中,如何获取两个数据帧之间所有共享值的列表?

时间:2014-02-19 18:28:07

标签: r compare dataframe

我对R来说是全新的所以请原谅我,我觉得这很容易,但我无法解决。

我有两个名为Genus的数据框,我想提取两个集合中存在的Genera列表。我也想要相反的,那些未在他们之间共享的Genera列表,并知道他们来自哪个样本。

数据1:

ID   Genus  Count
1    Daphnia  10
2    Baetis   23
3    Berosus   2
4    Chimarra  5

数据2:

ID   Genus   Count
1    Calopteryx  5
2    Caenis      10
3    Baetis      3
4    Chimarra    12    

结果:

Shared
------
Baetis
Chimarra

Unique
------
Calopteryx   Data2
Caenis       Data2
Daphnia      Data1
Berosus      Data1

1 个答案:

答案 0 :(得分:3)

共享属

intersect(Data1$Genus, Data2$Genus)

Data1中的Genera但Data2中没有

setdiff(Data1$Genus, Data2$Genus)

Data2中的Genera但Data1中没有

setdiff(Data2$Genus, Data1$Genus)