如何从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)