如何从R中长度不同的两个数据帧中找到元素?

如何从R中长度不同的两个数据帧中找到元素?,r,R,我有两个不同宽度的矩阵 我想知道矩阵A的哪些元素存在于矩阵B中,为此我编写了这段代码 Matrix_B$结果 我想知道矩阵A的哪些元素存在于 矩阵B 实际上,它是两个集合的减法: A<-matrix( sample(1:5,12,replace = T ), 4, 3) B<-matrix( sample(1:10,10,replace = T ), 2, 5) 现在,如果您想知道两个矩阵中都有哪些元素,您有两个选项: 方法1: intersect(B,A) 方法2

我有两个不同宽度的矩阵




我想知道矩阵A的哪些元素存在于矩阵B中,为此我编写了这段代码


Matrix_B$结果
我想知道矩阵A的哪些元素存在于
矩阵B

实际上,它是两个集合的减法:

A<-matrix( sample(1:5,12,replace = T ), 4, 3) 

 B<-matrix( sample(1:10,10,replace = T ), 2, 5)
现在,如果您想知道两个矩阵中都有哪些元素,您有两个选项:

方法1:

intersect(B,A)
方法2:

existInANotB<-setdiff(A,B)
intersect<-setdiff(A,existInANotB)

existinanotb另一个可能的副本是。请参阅专栏
Matrix\u A$NS
@phiver,我不认为这个问题直接询问了
合并
。你能给我一个关于我的解决方案的反馈吗?我认为这不是重复的,因为我不想加入这两个表。我想知道矩阵A的一个元素是否存在于矩阵B中。但正确的方法可能是使用合并或联接。谢谢你的回答。我的问题是要知道两个矩阵中都有哪个元素。@Francesco现在好了吗?谢谢你的回答,但我正在研究另一个解决方案。祝您今天过得愉快。
Matrix_B$Results <- ifelse((Matrix_A$R %in% Matrix_B$R) & 
                        (Matrix_A$NS %in% Matrix_B$NS),1,0))
A<-matrix( sample(1:5,12,replace = T ), 4, 3) 

 B<-matrix( sample(1:10,10,replace = T ), 2, 5)
> A
     [,1] [,2] [,3]
[1,]    4    3    3
[2,]    2    1    5
[3,]    4    4    5
[4,]    1    4    4
> B
     [,1] [,2] [,3] [,4] [,5]
[1,]    4    3   10    8    9
[2,]    1   10   10    9    6
intersect(B,A)
existInANotB<-setdiff(A,B)
intersect<-setdiff(A,existInANotB)