R 查找字符向量列表中的任何交点

R 查找字符向量列表中的任何交点,r,list,reduce,intersect,R,List,Reduce,Intersect,我有一个列表字符向量s,其中一些有交叉元素,但在整个列表中不一定有交叉元素 例如: l <- list(c("a"),c("a","b"),c("a","c"),c("d"),c("e"),c("h","i")) 不适合这样做,因为它查找与整个列表相交的元素 有什么想法吗?对于列表中的每个元素,使用表查找其计数

我有一个
列表
字符
向量
s,其中一些有交叉元素,但在整个
列表
中不一定有交叉元素

例如:

l <- list(c("a"),c("a","b"),c("a","c"),c("d"),c("e"),c("h","i"))
不适合这样做,因为它查找与整个
列表相交的元素


有什么想法吗?

对于列表中的每个元素,使用
查找其计数,并仅选择出现在多个列表中的值

vals <- unique(unlist(l))

intersect_vals <- names(Filter(function(x) x > 1, 
                  rowSums(sapply(l, function(x) table(factor(x, vals))) > 0)))

intersect_vals
#[1] "a"
vals(0)))
交集
#[1] “a”

对于列表中的每个元素,使用
表查找其计数,并仅选择出现在多个列表中的值

vals <- unique(unlist(l))

intersect_vals <- names(Filter(function(x) x > 1, 
                  rowSums(sapply(l, function(x) table(factor(x, vals))) > 0)))

intersect_vals
#[1] "a"
vals(0)))
交集
#[1] “a”