R:如何从一个数据帧的两行中找到元素的交集?

R:如何从一个数据帧的两行中找到元素的交集?,r,set-operations,R,Set Operations,我刚刚开始学习R,我想知道如何从一个数据帧的两行中找到元素的交集。我试过了 intersect(thing[1,],thing[2,]) 但它给了我一个完全胡说八道的答案(肯定不在十字路口的东西,而忽略了在十字路口的东西) 如何解决此问题?如果列的类型都相同(例如,所有数字),请首先通过as.matrix转换为矩阵,然后应用intersect。例如,如果数据帧称为z: zz你能不能提供数据集,这样我们就可以重现错误,或者最好是重现错误的最小数据集?的一个简单例子这听起来与我的问题类似,但我使用

我刚刚开始学习R,我想知道如何从一个数据帧的两行中找到元素的交集。我试过了

intersect(thing[1,],thing[2,])
但它给了我一个完全胡说八道的答案(肯定不在十字路口的东西,而忽略了在十字路口的东西)


如何解决此问题?

如果列的类型都相同(例如,所有数字),请首先通过as.matrix转换为矩阵,然后应用intersect。例如,如果数据帧称为z:


zz你能不能提供数据集,这样我们就可以重现错误,或者最好是重现错误的最小数据集?
的一个简单例子这听起来与我的问题类似,但我使用列表列表,我会得到一个相邻矩阵(一个具有所有可能交集长度的矩阵)。在我的追逐中,交叉点自身产生的长度等于1,另一个等于0…对不起,伙计们。。。我犯了个大错。。。。在我的例子中,我正在处理向量列表,为了修复它,我现在使用
[[I]]
而不是
[I]
来访问向量。。。除息的
zz <- as.matrix(z)
intersect(zz[1,], zz[2,])
z <- data.frame(AA = c( 1,   1,   3,   4), 
                BB = c( 1,   5,   3,   1),
                CC = c('1', 'a', 'b', 'b'),
                DD = c( 1,   2,   3,   4)
z[z[,1] == z[,3],1]