R 在两个不同顺序的数据框中匹配两列,并返回另一个值

R 在两个不同顺序的数据框中匹配两列,并返回另一个值,r,match,grepl,R,Match,Grepl,我有两个数据帧,我希望匹配两列文本数据(我熟悉使用match()函数来匹配一列数据帧) 数据帧A是数据帧B的子集,但两列中的数据可能以相反的顺序出现,即Dog Cat可能是Cat Dog。数据框B还包含一列额外的数值。我想将数据帧A与数据帧B匹配,然后返回数字列。在所有情况下都会有一个匹配项 数据帧A Cat Dog Mouse Cat Rat Cat Rat Dog 数据帧B Giraffe Cat 0.7 Rat Cat

我有两个数据帧,我希望匹配两列文本数据(我熟悉使用match()函数来匹配一列数据帧)

数据帧A是数据帧B的子集,但两列中的数据可能以相反的顺序出现,即Dog Cat可能是Cat Dog。数据框B还包含一列额外的数值。我想将数据帧A与数据帧B匹配,然后返回数字列。在所有情况下都会有一个匹配项

数据帧A

Cat      Dog
Mouse    Cat
Rat      Cat
Rat      Dog
数据帧B

Giraffe  Cat        0.7
Rat      Cat        0.2
Cat      Mouse      0.6
Cat      Dog        0.9
Giraffe  Elephant   0.1
Dog      Rat        0.3
应读取匹配的数据

Cat      Dog         0.9
Mouse    Cat         0.6
Rat      Cat         0.2
Rat      Dog         0.3

我尝试使用
match()
并尝试连接测试字符串。也不确定
grepl()
是否有帮助。

正常合并,并交换列,然后
rbind
两个结果:

rbind( merge(A,B), merge(A,B, by.x=c('V1', 'V2'), by.y=c('V2', 'V1')))
     V1  V2  V3
1   Cat Dog 0.9
2   Rat Cat 0.2
3 Mouse Cat 0.6
4   Rat Dog 0.3

再次道歉,但数据框在我键入时没有出现。需要说明的是,数据框A中有2列,数据框B中有3列