12

ベクトルのリストがあります:

> 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"

リスト要素のすべての可能なペアごとの組み合わせ間のオーバーラップの長さを計算したいと思います。つまり、(結果の形式は関係ありません):

AintB 2
AintC 2
AintD 0
BintC 1
BintD 0
CintD 1

combn(x, 2)ベクトル内のすべての可能なペアワイズ組み合わせの行列を取得するために使用できることはわかってlength(intersect(a, b))います。これにより、2 つのベクトルのオーバーラップの長さが得られますが、2 つのものをまとめる方法が思いつきません。

どんな助けでも大歓迎です!ありがとう。

4

3 に答える 3