列表的交集R

5

我有两个列表,每个列表都有多个变量(我认为这是正确的术语)。我想找到每个变量的交集。请看下面的例子:

x<-list(A=c(1,2,3),B=c(4,5,6),C=c(7,8,9)) #input
y<-list(A=c(1,3,6,7),B=c(5,7,8),C=c(7,9,10)) #input
xinty<-list(A=c(1,3),B=5,C=c(7,8)) # desired output

我尝试了以下方法,但显然是错误的。非常感谢任何建议。谢谢。
xinty<-lapply(x,function(x) intersect(x,y))

可能是在R中列表的交集的重复问题。 - FoamyGuy
1个回答

4

关于:

mapply(intersect, x,y)

请注意,如果您的列表长度不相同,则此操作将失败,并且是通过列表中的位置进行交集运算,而不是通过名称 - 即x [[1]]与y [[1]]进行交集运算,而不是将x $ A与y $ A进行交集运算,除非它们按照您示例中所示的顺序排列。 - Spacedman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接