Intersect all possible combinations of list elements
I have a list of vectors: > l <- list(A=c("one", "two", "three", "four"), B=c("one", "two"), C=c("two", "four", "five", "six"), D=c("six", "seven")) > l $A [1] "one" "two" "three" "four" $B [1] "one" "two" $C [1] "two" "four" "five" "six" $D [1] "six" "seven" I would like to calculate the length of the overlap between all possible pairwise combinations of the list elements , i.e. (the format of the result doesn't matter): AintB 2 AintC 2 AintD 0 BintC 1 BintD 0 CintD 1 I know combn(x, 2) can be used to get a matrix of all possible pairwise combinations in a vector and that length(intersect(a,